1. 创建与运行shell脚本
创建shell脚本时,必须在文件的第一行指定要使用的shell。其格式为:
#!/bin/bash #当然可以选择其它的shell
写了一个脚本之后,想要运行它,必须保证shell会在环境变量($PATH)里找到这条命令。
# 可以将该脚本所在的目录添加到PATH环境变量中;
# 通过绝对或相对路径来引用shell脚本文件;
2. 定义用户变量
变量可以是不超过20个字母、数字或下划线的文本字符串。用户变量区分大小写。
3. 反引号的使用
可以使用反引号(`)将shell命令的输出赋给变量。
4. 重定向输入和输出
重定向可以通过将某个文件重定向到某个命令上来用在输入上,也可以用在输出上。
a. 输出重定向
# date > a.txt #date的输出会覆盖a.txt中的内容
# date >> a.txt #date的输出会追加到a.txt中
b. 输入重定向
# wc < test6 # 统计test6文本中有多少行、多少个词、多少个字节
5. 管道
格式:command1 | command2
管道连接:将命令的输出重定向到另一个命令。
Linux系统实际上会同时运行这两个命令,在系统内部将它们连接起来。在第一个命令产生输出的同时,输出会被立即送给第二个命令。传输数据不会用到任何中间文件或缓冲区域。
# rpm -qa | sort | more
6. 执行数学运算
bash shell中可以使用美元符和方括号将数学表达式圈起来:$[ operations ]
bash shell数学运算符只支持整数运算。如果要解决解除这个限制,可以使用内建的bash计算器,称作bc
基本用法
在脚本中使用bc
也可以在脚本中使用“内联输入重定向(允许你在命令行而不是在文件指定输入重定向的数据)”:
7. 退出脚本
- 查看退出状态码
# echo $? # Linux提供了 $? 这个专属变量来保存上个执行的命令的退出状态码。
- exit命令
默认情况下,shell脚本会以脚本中的最后一个命令的退出状态码退出。
而exit命令
允许你在脚本结束时指定一个退出状态码:
# exit 5
# var=30
# exit $var