shell typeset命令的使用

來源:互聯網
上載者:User

[保留] typeset的常見用法

http://www.chinaunix.net 作者:寂寞烈火  發表於:2007-12-16 09:50:34
【發表評論】【查看原文】【Shell討論區】【關閉】

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.