about bash(1)

1. 显示与位置参数(Positional Parameters )

可以使用echo或者printf在终端中显示信息,例如:

echo "hello $1"
printf "the first argument is %s\n" $1

运行将显示:

about bash(1)

 注意,printf的格式化字符串和站位参数之间使用的是空格,而不是逗号或者其他符号,如果使用逗号,将会被认为是一个新的字符串。

bash最多支持9个位置参数,如果使用$10,将会被理解为$1后面跟一个0,超过9可以使用如下方式:%{12},表示第12个位置参数。

那有没有$0呢,如果有,是什么意思呢?

还真有。$0就像C语言的argv[0]表示程序名称一样,$0表示的就是脚本的名称,如果直接在shell中使用$0而不执行脚本,则是表示bash。

其他的特殊位置参数:

$*或者$@:所有参数的组合;

$#:参数的个数

$?:最后一个命令执行后的退出码(Exit Code)

$$:包含当前进程的PID

2. 变量

变量通过如下方式创建:

name=VALUE

特别注意,变量的名称和值之间千万不能有空格,否则命令不能正常工作,测试如下:

good=hello
bad = oops
echo $good
echo $bad

运行效果:

about bash(1)

  shell会认为你是在执行bad这个命令,然后没找到,于是报错。

 

上一篇:程序猿杂记——面试小记 with bad ending


下一篇:Python 好坏质检分类示例