linux运行程序有三种方法,分别是:
1、使文件具有可执行权限,直接运行文件。
chmod命令用来修改文件的权限。+x是使文件拥有可执行的权限。就如上面我们运行程序一样。但是我们看到的结果与我们想象当中有一定的出入。
2、直接调用命令解释器执行程序。
如图:
由于我们的解释器是/bin/sh,所以,用sh命令解释器来执行程序。
(当前的工作路径没有发生变化)
(推荐教程:linux教程)
3、使用source执行文件。
如图:
(当前的工作路径发生了变化)
在运行shell程序的三种方法中,前两种方法的执行过程如下:
(1)父进程接收到命令,然后发现不是内建命令,于是创建了一个和自己一样的shell进程,来执行这个外部命令
(2)这个shell子进程用/bin/sh取代自己,sh进程设置自己的运行环境变量,其中包括了$PWD变量。
(3)sh进程依次执行内建命令cd和echo。在此过程中,sh进程(子进程)的环境变量被cd命令改变。
(4)子进程执行完毕,就消亡了,一直在等待的父进程醒来,继续接受命令。
分析:
父进程的当前目录(环境变量)无法被子进程改变。但是,使用source执行是shell脚本时不会创建子进程,而是在父进程中直接执行。
相关视频教程推荐:linux视频教程
以上就是linux怎么运行shell程序的详细内容,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)