生活随笔
收集整理的這篇文章主要介紹了
笔记整理之 SHELL 变量
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
變量的類型:
1.自定義變量
? ??定義變量: 變量名=變量值 變量名必須以字母或下劃線開頭,區分大小寫 ? url1=test.3glong.com?
? ? 引用變量: $變量名 或 ${變量名}
? ? 查看變量: echo $變量名 ?set(所有變量:包括自定義變量和環境變量)
? ? 取消變量: unset 變量名
? ??作用范圍: 僅在當前shell中有效
示例:
2. 環境變量
定義環境變量: 方法一 export url2=test2.3glong.com?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ?方法二 export url1 將自定義變量轉換成環境變量
引用環境變量: $變量名 或 ${變量名}
查看環境變量: echo $變量名 ?env ? 例如env |grep back_dir2
取消環境變量: unset 變量名
變量作用范圍: 在當前shell和子shell有效
示例:
[root@node91?~]#?url1=test.3glong.com???????????#定義自定義變量
[root@node91?~]#?export?url2=test2.3glong.com??#定義環境變量
[root@node91?~]#?/bin/bash?????????????#再開啟一個bash進入子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???#確認處于子shell├─udevd───udevd└─xinetd
[root@node91?~]#?echo?$url1???????????#輸出自定義變量#發現什么都沒有
[root@node91?~]#?echo?$url2
test2.3glong.com?????????????????????????????????#環境變量輸出了
[root@node91?~]#?exit??????????????????????????#退出當前子shell
exit
[root@node91?~]#?echo?$url1
test.3glong.com?????????????????????????????????????#自定義變量只能當前shell使用
[root@node91?~]#?echo?$url2
test2.3glong.com
[root@node91?~]#?export?url1???????????????#轉換i自定義變量為環境變量
[root@node91?~]#?/bin/bash
[root@node91?~]#?echo?$url1???????????????#進入子shell
test.3glong.com???????????????????????????????????????#子shell也正常了
3. 位置變量
$1 $2 $3 $4 $5 $6 $7 $8 $9 ${10}
?[root@node91?~]#?vim?test.shecho?"第2個位置參數是$2"
echo?"第1個位置參數是$1"
echo?"第4個位置參數是$4"
echo?"所有參數是:?$*"
echo?"所有參數是:?$@"
echo?"參數的個數是:?$#"
echo?"當前進程的PID是:?$$"
echo?'$1='$1
echo?'$2='$2
echo?'$3='$3
echo?'$*='$*
echo?'$@='$@
echo?'$#='$#
echo?'$$='$$
4. 預定義變量
? ?$0 ? ?腳本名
? ?$* 所有的參數
? ?$@ 所有的參數
? ?$# 參數的個數
? ?$$ 當前進程的PID
? ?$! ? ? 上一個后臺進程的PID
? ?$? 上一個命令的返回值 0表示成功
定義或引用變量時注意事項:
" " ? 弱引用
' ' ? ?強引用
[root@node91?~]#?school=emlog
[root@node91?~]#?echo?"$school?blog"
emlog?blog
[root@node91?~]#?echo?'$school?blog'
$school?blog
轉載于:https://blog.51cto.com/3glong/1782248
總結
以上是生活随笔為你收集整理的笔记整理之 SHELL 变量的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。