環境變數:
使用者在作業系統時使用到的命令搜尋路徑
發現其不用絕對路徑就可以執行指令碼,因為他寫在$path中。我們將它移到 /mnt/ 中,
發現只有執行絕對路徑可以執行指令碼。那麼我們如果想讓 /mnt/下的指令碼也不用絕對路徑就能執行,我們可以:
設定方式:
使用者變數設定:
thermal使用者就可以直接用檔名執行 /mnt/ 下的指令碼了,切換回root使用者則不行:
全域性變數設定:
所有的使用者都因為配置檔案的更改而獲得了/mnt 這個搜尋路徑。
$(
) 或者 `` 優先執行
非互動模式:
$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 ##隱藏輸入內容
定義: 程式的別名
設定方式:
word()
word 在指令碼中就代表action1 action2這兩個動作
例:
大括號內是 read_action 這個程式函式執行的動作,
中間的 read_action 用來迴圈動作,
最後面的 read_action 是執行的命令函式
可以看出,在迴圈執行程式命令
shell指令碼中的變數
1 在命令列中和指令碼中,變數定義得格式 name value 左右兩邊不能有空格,否則會當做命令來對待,輸出乙個command not found echo name echo 列印出變數,引用變數使用 name.2 單引號和雙引號 語法 和php中相同 雙引號仍然可以保有變數的內容,但單引號內僅...
shell指令碼中的變數
變數就是記憶體一片區域的位址 命令無法操作一直變化的目標 用一串固定的字元來表示不固定的目標可以解決此問題 export宣告 env顯示所有環境變數 echo path export a 1 在環境關閉後變數失效 字元 數字 轉譯單個字元 弱引用,批量轉譯個數字元 不能轉譯 強引用 表示當前程序的i...
shell指令碼中的變數
後記面試中很重要 在系統中,當我們執行 bin ls時與ls命令結果並不相同,因為ls是已經經過加工過的命令。alias xie vim 臨時設定,開啟了新的shell就會失效 vim bashrc 只對當前使用者生效 alias xie vim source bashrc vim etc bash...