typeset用于设置变量属性,如大小写,宽度,左右对齐等都可以用typeset来控制, 当用typeset改变一个变量的属性时,这种改变是永久的,下面以ksh为例,演示typeset的几种典型用法1,无选项的执行typeset,则显示所有变量/home/lee#typesettypeset COLORStypeset -x COLORTERMtypeset -x DISPLAYtypeset -x GDMSESSIONtypeset -x GNOME_DESKTOP_SESSION_IDtypeset -x GTK_RC_FILEStypeset -x G_BROKEN_FILENAMEStypeset -x HISTSIZEtypeset -x HOMEtypeset -x HOSTNAMEtypeset IFStypeset -x INPUTRCtypeset -r KSH_VERSIONtypeset -x LANGtypeset -x LANGUAGEtypeset -x LESSOPENtypeset -x LOGNAMEtypeset -x LS_COLORStypeset -x MAILtypeset -i MAILCHECKtypeset -i OPTINDtypeset -x PATHtypeset -i PPIDtypeset -x PS1typeset PS2typeset PS3typeset PS4typeset -x PWDtypeset -i RANDOMtypeset -i SECONDStypeset -x SESSION_MANAGERtypeset -x SHELLtypeset -x SHLVLtypeset -x SSH_AGENT_PIDtypeset -x SSH_ASKPASStypeset -x SSH_AUTH_SOCKtypeset SUPPORTEDtypeset -x TERMtypeset -i TMOUTtypeset -x USERtypeset -x USERNAMEtypeset -x WINDOWIDtypeset -x XAUTHORITYtypeset -x XMODIFIERStypeset _2:typeset的-u选项可以将一个变量的字符变成大写/home/lee#typeset -u var=abc/home/lee#echo $varABC3:typeset的-l选项将一个变量的字符变成小写/home/lee#typeset -l var=ABC/home/lee#echo $varabc4:typeset的-L选项把变量变成一个左对齐的4个字符串,有些像字符串截取 /home/lee#typeset -L4 var=abcdefg/home/lee#echo $varabcd5:typeset的-R选项把变量变成一个右对齐的4个字符串/home/lee#typeset -R4 var=abcdefg/home/lee#echo $vardefg6: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 1237:变量n是一个被设置成一个整数的变量,typeset命令将整数n前面补齐0,共15个字符位/home/lee#typeset -i n=24/home/lee#typeset -Z15 n/home/lee#echo $n0000000000000248:变量answer被给定一个值--Yes并变成一个小写,左对齐,一个字符的串/home/lee#typeset -lL1 answer=Yes/home/lee#echo $answerytypeset其他用法:typeset -i num #强制num为一个整数,如:/home/lee#typeset -i num=10/home/lee#echo $num10/home/lee#typeset -i16 num=10/home/lee#echo $num16#a/home/lee#typeset -i2 num=10/home/lee#echo $num2#1010/home/lee#typeset -i8 num=10/home/lee#echo $num8#12typeset -x #显示被导出的变量typeset a b c #如果在一个函数里定义,则把a b c创建为局部变量typeset -r x=var#设置一个只读变量 |