shell脚本不同执行方式的区别
shell script 是利用 shell 的功能所写的一个程序,这个程序是使用纯文字文件,将一些 shell 的语法与指令(含外部指令)写在里面, 搭配正规表示法、管线命令与数据流重导向等功能,以达到我们所想要的处理目的。
当我们编写好一个shell脚本文件路径为/home/username/shell.sh时,我们执行此脚本的方式主要有以下三种:
1.直接命令下达:shell.sh文件必须要具备可读和可执行 (rx) 的权限
绝对路径:使用/home/username/shell.sh来下达指令;
相对路径:切换工作路径至 /home/username/ ,使用./shell.sh来执行;
变量PATH功能:将 shell.sh 放在 PATH 指定的目录(可通过echo $PATH查看)内,例如~/bin/时,则可以直接在命令行输入shell.sh执行。
2.以 bash程序来执行:shell.sh文件必只要具备可读(r)的权限
通过bash shell.sh或sh shell.sh来执行。
以上两种执行脚本的方法相当于在父bash程序中开创了一个子bash程序运行shell.sh,当脚本执行结束,脚本中的变量会被删除,父bash程序中无法获得脚本中的变量值。
3.以source命令执行脚本:shell.sh文件必只要具备可读(r)的权限
通过source shell.sh来执行脚本,此时的脚本是在本bash程序中执行,脚本中一切命令都会反馈在本bash程序中,变量在脚本结束后也会在本bash程序中保存,不会创建子bash程序。
本文概述了如何通过绝对路径、相对路径和source命令三种方式执行shell脚本,强调了权限设置、路径选择以及子bash程序与当前bash环境的区别。

1504

被折叠的 条评论
为什么被折叠?



