Shell有两种执行命令的方式:
- 交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。
- 批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。
这里再讲一下Shell 脚本的运行方式:
- 通过文件名执行 : shell脚本可以直接通过文件名执行,需要注意的是文件需要执行权限并且设置shebang(关于shebang的解释请看这里shebang)。通过
sudo chmod +x ./file_name.sh
来给文件添加执行权限; - 指定脚本解释器来执行文件 : 我们常用的 sh file_name.sh 就是指定了脚本解释器 /bin/sh来解释执行脚本;这种方式运行的脚本,不需要在第一行指定解释器信息,写了也没用;常见的脚本解释器还有:/bin/bash等,我们可以使用
ls -l /bin/*sh
命令来查看当前可用的脚本解释器; - 使用source命令执行脚本 : 这种方式不会像前两种方式一样fork一个子进程去执行脚本,而是使用当前shell环境执行,用于 .bashrc或者.bash_profile被修改的时候,我们不必重启shell或者重新登录系统,就能使当前的更改生效。