shell 是一个命令行解释器, 负责接收和解析用户通过终端输入的命令
每当用户在终端中输入一条命令,shell 会立即将其 "翻译" 成操作系统可以理解的指令
终端 是一个提供命令输入和输出环境的程序,可以把它看作是一个窗口,让用户可以看到系统的反馈
而 shell 则是这个窗口中的工具,帮助用户向操作系统发出指令
#!/bin/bash 是脚本的头文件声明,指定使用 bash 解释器来执行后续的脚本代码
前台运行 Shell 脚本
1.通过 bash 解释器来执行
bash demo.sh
注
显示文件的最后 3 行
tail -n 3 time.txt
2.直接运行脚本
./demo.sh
注
添加执行权限
chmod u+x demo.sh
后台运行 Shell 脚本
1. &符号 表示在后台运行, 关闭终端后, 会结束进程
bash demo.sh &
注
ps -f 显示当前终端会话中运行的进程的详细信息
ps[process status 进程状态]
-f[full format 完整格式] 表示以完整格式显示进程信息
#终止一个正在运行的进程
kill 3244
2. nohup(no hang up 不挂断) 关闭终端后, 进程仍然能够在后台运行
nohup bash demo.sh &
注
ps -ef 显示系统中所有正在运行的进程的详细信息
ps -ef | grep demo.sh 显示系统中所有包含 demo.sh 的进程的详细信息
-e[every 每个] 表示显示所有进程, 包括其他用户的进程
| 管道符号 将前一个命令的 "输出" 作为后一个命令的 "输入"
grep demo.sh 会在ps -ef命令的 "输出" 中查找包含demo.sh的进程信息