歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

Shell學習筆記 - Shell變量

一、變量的命名 變量名必須以字母或下劃線開頭,由字母、數字、或下劃線組成,變量名的長度不能超過255個字符。   二、變量的分類 1. 用戶自定義變量   2. 環境變量   3. 位置參數變量   4. 預定義變量   三、用戶自定義變量 用戶自定義變量是“局部變量”,只能在當前的Shell中生效   1. 定義變量 變量名=變量值   示例:     注意:等號前後不能有空格,否則會出現以下錯誤提示:     2. 變量調用 $變量名 或 ${變量名}   示例:     3. 變量疊加 示例:       4. 刪除變量 unset 變量名   示例:     5. 查看變量 1) env:查看所有的環境變量   2) set:查看所有的變量(包括用戶自定義變量)   四、環境變量 環境變量是“全局變量”,在當前Shell和這個Shell的所有子Shell中生效   1. 設置環境變量 export 變量名=變量值   或   變量名=變量值   export 變量名   示例:     注意:設置環境變量時,建議使用大寫,避免與用戶自定義變量或系統命令(都是小寫的)沖突。   2. 刪除環境變量,環境變量調用,查看環境變量 用戶自定義變量的使用方式相同   3. 設置PS1環境變量 PS1環境變量會影響用戶提示符信息,示例如下:     五、位置變量 1. $n n為數字,$0代表命令本身,$1-$9代表第一到第九個參數,十以上的參數需要用大括號包含,如${10}。   示例:   #!/bin/bash a=$1 b=$2 sum=$(($a +$b)) echo $sum 2. $* 這個變量代表命令行中所有的參數,$*把所有的參數看成一個整體     #!/bin/bash for i in "$*" do     echo $i done   #運行:test.sh 1 2 3 #輸出:1 2 3 #解釋:$*中的所有參數被看成是一個整體,所以這個for循環只會循環一次   3. $@ 這個變量也代表命令行中所有的參數,不過$@把每個參數區分對待     #!/bin/bash for i in "$@" do     echo $i done #運行:test.sh 1 2 3 #輸出: 1  2  3 #解釋:$@中的每個參數被看成獨立的,所以這個for循環會循環多次   4. $# 這個變量代表命令行中的所有參數的個數   #!/bin/bash echo $#   #運行:test.sh 1 2 3 #輸出:3 六、預定義變量 1. $? 最後一次執行的命令的返回狀態。如果這個值為0,則說明上一個命令執行正確;如果這個值不為0,則代表上一個命令執行的錯誤碼。   示例:     2. $$ 當前進程的進程號(PID)   示例:       3. $! 後台運行的最後一個進程的進程號(PID)   #!/bin/bash   find /root -name "test.sh" & echo $! 七、read命令 接受鍵盤輸入   1. 參數說明 -p "提示信息": 在等待read輸入時,輸出的提示信息   -t 秒數:read命令會一直等待用戶輸入,使用此參數可以指定等待時間   -n 字符數:read命令只接受指定的字符數,就會繼續執行   -s : 隱藏輸入的數據,適用於機密信息的輸入   2. 示例   #!/bin/bash   read -p "please input username:" username read -p "please input password:" -s password echo -e "\n" read -p "please input sex[F/M]:" -n 1 sex echo -e "\n" echo "Welcome $username[$sex]"
Copyright © Linux教程網 All Rights Reserved