1、取消變量
取消變量也就是將變量從內存中釋放出去,可以使用unset 后面加變量名即可,當然函數的釋放同樣可以采用該方式處理。
比如:name="123"
echo ${name}
輸出:123
unset name
echo ${name}
輸出:
#取消函數示例
test_function()
{
echo "123"
}
unset test_function
test_function #調用報錯
2、Shell特殊變量
位置參數:有時候Shell腳本會有一些預先設定的特殊只讀變量,它們的值只有在腳本運行的時候才能確認。簡單來說就相當于填空題。空就相當于
位置參數。位置參數命名采用$0作為腳本本身,$1作為第一個參數,第二個是$1,依此類推,當參數大于9的時候需要加括號,比如${10},就是
第10個參數。另外$#表示腳本參數的個數總和,$@或者$*表示腳本的所有參數。
示例:cat test.sh
#!/bin/bash
echo "腳本的名字是:$0"
echo "你好,$1"
echo "你好,$2"
echo "$@你們好"
echo "參數的個數是:$#"
調用:bash test.sh 小明 小強
輸出:
腳本的名字是:test.sh
你好,小明
你好,小強
小明小強你們好
參數的個數是:2
腳本或者命令的返回值:$?
Linux系統中規定正常退出的命令和腳本應該以0作為其返回值,任何非0的返回值都是表示命令未正確退出或未正常執行。$?可以得到執行命令的
返回值。所以可以根據$?返回值的情況判斷命令執行的狀態,從而進行處理。
比如:ifconfi
輸出:-bash:ifconfi:command not found
echo $?
輸出:127