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