Shell编程学习之变量
一、shell有两种变量,有些资料也介绍有四种
1、本地变量
2、环境变量
3、导出变量
4、特定变量
二、本地变量
bash-3.2# name=test
bash-3.2# echo ${name}
test
三、清除变量
bash-3.2# unset name
bash-3.2# echo ${name}
bash-3.2#
四、环境变量
bash-3.2# echo $HOME
/root
bash-3.2# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
bash-3.2# echo $SHELL
/bin/bash
bash-3.2# echo $PS1
\s-\v\$
五、位置变量
$0,$1........$9
$0 脚本名字
$1---$9用户输入变量
$# 传递参数的个数
$*以一个字符串传递,但与位置变量不同,可超过9个
$$脚本运行的进程的ID号
$!后台运行的最后一个进程的进程的ID号
$@与$#相同,注意使用的时候加引号
$-显示shell使用的当前选项,与set命令功能相同
$?显示最后命令的状态。0表示没有错误
bash-3.2# cat test.sh
#!/bin/bash
echo "the is script name:" $0
echo "user------------->:" $1
echo "user1------------>:" $2
echo "传递参数个数----->:" $@
echo "脚本ID号--------->:" $$
echo "最后命令退出状态->:" $?
bash-3.2# ./test.sh 12 45
the is script name: ./test.sh
user------------->: 12
user1------------>: 45
传递参数个数----->: 12 45
脚本ID号--------->: 7741
最后命令退出状态->: 0