转载出处:https://www.jb51.net/article/66824.htm
执行shell脚本有以下几种方式
1、相对路径方式,需先cd到脚本路径下
[root@banking tmp]# cd /tmp
[root@banking tmp]# ./ceshi.sh
脚本执行成功
2、绝对路径方式
[root@banking tmp]# /tmp/ceshi.sh
脚本执行成功
3、bash命令调用
[root@banking /]# bash /tmp/ceshi.sh
脚本执行成功
4、. (空格) 相对或绝对方式
[root@banking /]# . /tmp/ceshi.sh
说下几种方式的区别
第一种和第二种没有什么区别,两种方式都需要提前赋予脚本以执行权限。
第三种是把脚本当做bash的调用来处理,所以,脚本不需要有执行权限就可以执行。
前三种方式都是在当前shell中打开一个子shell来执行脚本内容,当脚本内容结束,则子shell关闭,回到父shell中。
第四种是使脚本内容在当前shell里执行,而不是单独开子shell执行。
开子shell与不开子shell的区别就在于,环境变量的继承关系,如在子shell中设置的当前变量,不做特殊通道处理的话,父shell是不可见的。
而在当前shell中执行的话,则所有设置的环境变量都是直接生效可用的。