1、$0
, $1
$0
:文件名称的参数, $1
:参数1,$2
:参数2, ${13}
:参数13
脚本中输入
echo $0
echo $1
echo $2 //设定了3个参数,0表文件名字
终端中输入, 本文件路径是 /home/acs/rong.sh
./rong.sh //输出 rong.sh
/home/acs/rong.sh //输出路径/home/acs/rong.sh
./rong.sh abc 12 //输出./rong.sh abc 12, abc对应相应的参数
2、$
的其他参数
脚本中输入
echo $0 //必须加echo
echo $1
echo $2
echo $# //输出参数个数,2,不包括文件名称的参数0
终端输入
./rong.sh abc 5
echo $* //输出所有参数构成的字符串,"$1 $2 ", 输出结果为"abc 5"
echo $@ //类似$*,字符串为"$1" "$2" "$3" "$4",
echo $$ //输出当前进程的id
echo $?
/*
返回上一条命令的退出状态(注意不是stdout,而是exit code)。stdout:标准输出
exit code:状态
0表示正常退出,其他值表示错误。
类似C++ 结尾的 return 0; 返回的是0
*/
echo $(命令) //返回这条命令的stdout
echo $(ls) //返回ls 的输出,终端输入./rong.sh, 结果为输出 acs这层文件夹中的所有文件
echo `ls` //等价于上面的 $(ls)