生活随笔
收集整理的這篇文章主要介紹了
笔记整理之 SHELL 变量
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
變量的類型:
1.自定義變量
? ??定義變量: 變量名=變量值 變量名必須以字母或下劃線開頭,區(qū)分大小寫 ? url1=test.3glong.com?
? ? 引用變量: $變量名 或 ${變量名}
? ? 查看變量: echo $變量名 ?set(所有變量:包括自定義變量和環(huán)境變量)
? ? 取消變量: unset 變量名
? ??作用范圍: 僅在當(dāng)前shell中有效
示例:
2. 環(huán)境變量
定義環(huán)境變量: 方法一 export url2=test2.3glong.com?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?方法二 export url1 將自定義變量轉(zhuǎn)換成環(huán)境變量
引用環(huán)境變量: $變量名 或 ${變量名}
查看環(huán)境變量: echo $變量名 ?env ? 例如env |grep back_dir2
取消環(huán)境變量: unset 變量名
變量作用范圍: 在當(dāng)前shell和子shell有效
示例:
[root@node91?~]#?url1=test.3glong.com???????????#定義自定義變量
[root@node91?~]#?export?url2=test2.3glong.com??#定義環(huán)境變量
[root@node91?~]#?/bin/bash?????????????#再開啟一個bash進(jìn)入子shell
[root@node91?~]#?pstree
init─┬─abrtd├─acpid├─anacron├─atd├─auditd───{auditd}├─console-kit-dae───63*[{console-kit-da}]├─crond├─cupsd├─dbus-daemon├─dhclient├─hald─┬─hald-runner─┬─hald-addon-acpi│??????│?????????????└─hald-addon-inpu│??????└─{hald}├─login───bash├─master─┬─pickup│????????└─qmgr├─5*[mingetty]├─rpc.statd├─rpcbind├─rsyslogd───3*[{rsyslogd}]├─sshd───sshd───bash───bash───pstree???#確認(rèn)處于子shell├─udevd───udevd└─xinetd
[root@node91?~]#?echo?$url1???????????#輸出自定義變量#發(fā)現(xiàn)什么都沒有
[root@node91?~]#?echo?$url2
test2.3glong.com?????????????????????????????????#環(huán)境變量輸出了
[root@node91?~]#?exit??????????????????????????#退出當(dāng)前子shell
exit
[root@node91?~]#?echo?$url1
test.3glong.com?????????????????????????????????????#自定義變量只能當(dāng)前shell使用
[root@node91?~]#?echo?$url2
test2.3glong.com
[root@node91?~]#?export?url1???????????????#轉(zhuǎn)換i自定義變量為環(huán)境變量
[root@node91?~]#?/bin/bash
[root@node91?~]#?echo?$url1???????????????#進(jìn)入子shell
test.3glong.com???????????????????????????????????????#子shell也正常了
3. 位置變量
$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
?[root@node91?~]#?vim?test.shecho?"第2個位置參數(shù)是$2"
echo?"第1個位置參數(shù)是$1"
echo?"第4個位置參數(shù)是$4"
echo?"所有參數(shù)是:?$*"
echo?"所有參數(shù)是:?$@"
echo?"參數(shù)的個數(shù)是:?$#"
echo?"當(dāng)前進(jìn)程的PID是:?$$"
echo?'$1='$1
echo?'$2='$2
echo?'$3='$3
echo?'$*='$*
echo?'$@='$@
echo?'$#='$#
echo?'$$='$$
4. 預(yù)定義變量
? ?$0 ? ?腳本名
? ?$* 所有的參數(shù)
? ?$@ 所有的參數(shù)
? ?$# 參數(shù)的個數(shù)
? ?$$ 當(dāng)前進(jìn)程的PID
? ?$! ? ? 上一個后臺進(jìn)程的PID
? ?$? 上一個命令的返回值 0表示成功
定義或引用變量時注意事項:
" " ? 弱引用
' ' ? ?強引用
[root@node91?~]#?school=emlog
[root@node91?~]#?echo?"$school?blog"
emlog?blog
[root@node91?~]#?echo?'$school?blog'
$school?blog
轉(zhuǎn)載于:https://blog.51cto.com/3glong/1782248
總結(jié)
以上是生活随笔為你收集整理的笔记整理之 SHELL 变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。