shell指令碼中的變數

2021-10-23 00:24:00 字數 1535 閱讀 7808

定義本身

變數就是記憶體一片區域的位址

變數存在的意義

命令無法操作一直變化的目標

用一串固定的字元來表示不固定的目標可以解決此問題

環境級別

使用者級別

系統級別

變數名稱

轉譯 \

轉譯單個字元

「」(雙引號)

弱引用,批量轉譯個數字元,不能轉譯"" 「`」 「$」 「!」

『』(單引號)

強引用宣告

變數的陣列

create_user.sh userfile passfile

userfile用的使用者會被全部建立

passfile中的密碼會被全部設定

直接利用命令執行結果

$()或者反引號##優先執行

test=`hostname` 

test=$(hostname)

指令碼中的傳參

$0 is /mnt/test.sh ##指令碼本身

$1 is myr##指令碼後所輸入的第一串字元

$2 is linux

$3 is redhat

$* is myr linux redhat ##指令碼後所輸入的所有字元"myr linux redhat"

$@ is myr linux redhat ##指令碼後所輸入的所有字元'myr' 'linux' 'redhat'

$# is 3 ##指令碼後所輸入的字串個數

read hhh ##對hhh賦值

read -p "please input words:" myr##輸出提示語

-s ##隱藏輸入內容

read -s hhh##不顯示輸入的內容

read -p "please input words:"

-s myr##不顯示輸入的內容

)##函式名

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...