bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again Shell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。
bash是大多数Linux系统以及Mac OS X默认的shell,它能运行于大多数类Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。
**语法格式** :bash [参数] [文件]
**常用参数** :
| -n | 检测脚本是否正确,并不执行脚本 |
| ---- | -------------------------------------------------------------------------- |
| -x | 执行脚本,输出执行过程 |
| -c | bash从字符串中读入命令,如果字符串后还有变量就被设定为从$0开始的位置参数 |
**参考实例**
使用-n参数检查脚本语法时候正确:
```
[root@anycode ~]# bash -n linuxcool.sh
```
使用-x参数执行linuxcool.sh脚本并输出执行过程:
```
[root@anycode ~]# bash -x linuxcool.sh
ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.3.21 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 fe80::20c:29ff:fe73:4b2f prefixlen 64 scopeid 0x20
ether 00:0c:29:73:4b:2f txqueuelen 1000 (Ethernet)
RX packets 1175439 bytes 578279763 (551.4 MiB)
RX errors 0 dropped 1574 overruns 0 frame 0
TX packets 165889 bytes 54096266 (51.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 538814 bytes 310506969 (296.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 538814 bytes 310506969 (296.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
```