第一个shell程序
![](https://img.haomeiwen.com/i12035278/a3f2d6ec10031e21.png)
pwd :查看当前工作目录
chmod:修改文件权限 chmod +x echo.sh 修改文件权限为可执行
./echo.sh:运行可执行文件
whereis bash:查询解释器的完整路径
自删除脚本:运行结果什么都不会发生,同时文件也消失不见
![](https://img.haomeiwen.com/i12035278/d6edc2e6534e4d12.png)
工作目录改变:
![](https://img.haomeiwen.com/i12035278/9e26508f512f4dab.png)
![](https://img.haomeiwen.com/i12035278/ea48530c074ff0f6.png)
![](https://img.haomeiwen.com/i12035278/c823094bdd0114da.png)
原因:shell命令有三种:内建命令、shell命令和外部命令
内建------shell程序本身包含的命令。部分内建命令的存在时为了改变shell本身的属性设置,在执行内建命令时,没有进程的创建和消亡。另一部分内建命令时I/O命令,如echo命令。
shell函数--------程序代码
外部命令--------独立于shell的可执行程序 。如find、grep、echo.sh。执行外部命令时,会创建一个当前shell的复制进程来执行。在执行过程中,存在进程的创建和消亡。
父shell----等待子shell返回---------->父shell
同时,父shell------创建子shell-----子shell------执行程序---------子shell返回-----父shell
source file------修改当前shell本身的环境变量
--------影响shell进程本身,在脚本执行过程中,没有进程创建和消亡。
网友评论