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#設定一個唯讀變數 |