typeset的常見用法


typeset用於設置變量屬性,如大小寫,寬度,左右對齊等都可以用typeset來控制, 當用typeset改變一個變量的屬性時,這種改變是永久的,下面以ksh為例,演示typeset的幾種典型用法 



1,無選項的執行typeset,則顯示所有變量 
/home/lee#typeset 
typeset COLORS 
typeset -x COLORTERM 
typeset -x DISPLAY 
typeset -x GDMSESSION 
typeset -x GNOME_DESKTOP_SESSION_ID 
typeset -x GTK_RC_FILES 
typeset -x G_BROKEN_FILENAMES 
typeset -x HISTSIZE 
typeset -x HOME 
typeset -x HOSTNAME 
typeset IFS 
typeset -x INPUTRC 
typeset -r KSH_VERSION 
typeset -x LANG 
typeset -x LANGUAGE 
typeset -x LESSOPEN 
typeset -x LOGNAME 
typeset -x LS_COLORS 
typeset -x MAIL 
typeset -i MAILCHECK 
typeset -i OPTIND 
typeset -x PATH 
typeset -i PPID 
typeset -x PS1 
typeset PS2 
typeset PS3 
typeset PS4 
typeset -x PWD 
typeset -i RANDOM 
typeset -i SECONDS 
typeset -x SESSION_MANAGER 
typeset -x SHELL 
typeset -x SHLVL 
typeset -x SSH_AGENT_PID 
typeset -x SSH_ASKPASS 
typeset -x SSH_AUTH_SOCK 
typeset SUPPORTED 
typeset -x TERM 
typeset -i TMOUT 
typeset -x USER 
typeset -x USERNAME 
typeset -x WINDOWID 
typeset -x XAUTHORITY 
typeset -x XMODIFIERS 
typeset _ 

2:typeset的-u選項可以將一個變量的字符變成大寫 
/home/lee#typeset -u var=abc 
/home/lee#echo $var 
ABC 

3:typeset的-l選項將一個變量的字符變成小寫 
/home/lee#typeset -l var=ABC 
/home/lee#echo $var 
abc 

4:typeset的-L選項把變量變成一個左對齊的4個字符串,有些像字符串截取 :-) 
/home/lee#typeset -L4 var=abcdefg 
/home/lee#echo $var 
abcd 

5:typeset的-R選項把變量變成一個右對齊的4個字符串 
/home/lee#typeset -R4 var=abcdefg 
/home/lee#echo $var 
defg 

6:typeset的-Z選項把串變成一個空填充,占15個字符位的串,冒號用來保護空白符 
/home/lee#typeset -Z15 var="abc ddd" 
/home/lee#echo "$var" 
^^^^^^^^abc ddd #^為空白 
/home/lee#typeset -LZ15 var="abc 123" 
/home/lee#echo "$var$var" 
abc 123 abc 123 

7:變量n是一個被設置成一個整數的變量,typeset命令將整數n前面補齊0,共15個字符位 
/home/lee#typeset -i n=24 
/home/lee#typeset -Z15 n 
/home/lee#echo $n 
000000000000024 

8:變量answer被給定一個值--Yes並變成一個小寫,左對齊,一個字符的串 
/home/lee#typeset -lL1 answer=Yes 
/home/lee#echo $answer 
y 

typeset其他用法: 
typeset -i num #強制num為一個整數,如: 
/home/lee#typeset -i num=10 
/home/lee#echo $num 
10 
/home/lee#typeset -i16 num=10 
/home/lee#echo $num 
16#a 
/home/lee#typeset -i2 num=10 
/home/lee#echo $num 
2#1010 
/home/lee#typeset -i8 num=10 
/home/lee#echo $num 
8#12 

typeset -x #顯示被導出的變量 
typeset a b c #如果在一個函數里定義,則把a b c創建為局部變量 
typeset -r x=var#設置一個只讀變量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM