Bash脚本编程在平时的工作中可以起到解放生产力的作用。因为通过bash脚本可以将繁琐,可重复的工作进行自动化运行。然而有时用脚本解决一些问题以后,长时间不用,就忘了很多细节。正好missing课程总结了一些常见的规则,语法,以及秘籍,我在这里罗列一些。
变量定义
foo=bar
变量定义不能有空格,否则bash会当作调用命令来对待。
字符串
字符串可以用单引号或者双引号来包围住。但是他们俩还是有区别的。单引号不能引用字符串变量而双引号可以。
echo "$foo"
# prints bar
echo '$foo'
# prints $foo
第一个echo命令就可以把刚才定义的字符串变量打印出来,而第二个只能打印个寂寞。
输入参数
bash脚本跟一般的编程语言一样对if, for, while都有支持。同样地,bash脚本同样也支持类似函数调用的机制,还可以传入参数。下面是一个实现了创建了一个目录并且进入目标目录的函数:
mcd () {
mkdir -p "$1"
cd "$1"
}
在这里,$1 是表示函数或者整个脚本的第一个参数。Bash有很多类似的输入变量,以及错误编码。下面是一些常用的变量:
- $0 表示脚本的名字。
- 9 表示脚本的从左到右的输入参数。
- $@ 表示所有的参数
- $# 表示输入参数的个数
- $? 表示上一个命令的返回码
- $$ 表示当前脚本的PID
- !! 表示整个上一条命令,包括参数。有时候如果执行失败了,前面加上sudo就可以。
网友评论