輕鬆理解Shell腳本中的變量(二)

5.用戶環境變量的更改

環境變量:
用戶在操作系統時使用到的命令搜索路徑
在這裏插入圖片描述

vim /bin/westos.sh

在這裏插入圖片描述
在這裏插入圖片描述
發現其不用絕對路徑就可以執行腳本,因爲他寫在$PATH中。我們將它移到 /mnt/ 中,
在這裏插入圖片描述
發現只有執行絕對路徑可以執行腳本。那麼我們如果想讓 /mnt/下的腳本也不用絕對路徑就能執行,我們可以:
設定方式:

用戶變量設置:

~/.bash_profile

export PATH=$PATH:/mnt
在這裏插入圖片描述
在這裏插入圖片描述
thermal用戶就可以直接用文件名執行 /mnt/ 下的腳本了,切換回root用戶則不行:
在這裏插入圖片描述
全局變量設置:

/etc/profile

export PATH=$PATH:/mnt
在這裏插入圖片描述
source  /etc/profile
在這裏插入圖片描述
所有的用戶都因爲配置文件的更改而獲得了/mnt 這個搜索路徑。

6.利用命令的執行結果設定變量

1)直接利用命令執行結果

$() 或者 ``                優先執行
TEST=`hostname` 
TEST=$(hostname)

在這裏插入圖片描述
在這裏插入圖片描述

2)腳本中的傳參

非交互模式:
在這裏插入圖片描述
在這裏插入圖片描述
$0 is /mnt/test.sh          ##腳本本身
$1 is westos            ##腳本後所輸入的第一串字符
$2 is linux
$3 is redhat
$* is westos linux redhat       ##腳本後所輸入的所有字符"westos linux redhat"
$@ is westos linux redhat      ##腳本後所輸入的所有字符’westos’ ‘linux’ ‘redhat’
$# is 3               ##腳本後所輸入的字符串個數

交互模式傳參:
read WESTOS               ##對westos賦值
在這裏插入圖片描述
read -p “please input word:”         ##輸出提示語
在這裏插入圖片描述
-s                    ##隱藏輸入內容
在這裏插入圖片描述

7.腳本函數

定義: 程序的別名

設定方式:
WORD()
{
action1
action2
}

WORD 在腳本中就代表action1 action2這兩個動作

例:
在這裏插入圖片描述
大括號內是 READ_ACTION 這個程序函數執行的動作,
中間的 READ_ACTION 用來循環動作,
最後面的 READ_ACTION 是執行的命令函數
在這裏插入圖片描述
可以看出,在循環執行程序命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章