美文网首页PHP程序员
shell脚本三种执行方式

shell脚本三种执行方式

作者: php转go | 来源:发表于2020-08-25 11:14 被阅读0次

    也有人说是四种,分别是工作目录执行、绝对路径执行、sh执行与shell环境执行
    其实工作目录执行与绝对路径执行都是把这个shell脚本作为可以执行程序,其实是相同的,一个是相对路径一个是觉得路径

    1. shell脚本作为可以执行程序
    ./test.sh  #相对路径
    #或者
    /data/test.sh #觉得路径
    

    注意,一定要写成 ./test.sh,而不是 test.sh,运行其它二进制的程序也一样,直接写 test.sh,linux 系统会去 PATH 里寻找有没有叫 test.sh 的,而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 test.sh 是会找不到命令的,要用 ./test.sh 告诉系统说,就在当前目录找。

    如果报没有权限

    [root@localhost php]# ./test.sh
    -bash: ./test.sh: Permission denied
    

    就添加shell脚本文件执行权限

    chmod +x ./test.sh
    
    1. 作为解释器参数
      是用脚本对应的sh或bash来接着脚本执行
    sh test.sh
    bash test.sh
    
    1. shell环境执行
      是在当前的shell环境中执行,可以使用 . 接脚本 或 source 接脚本
    [root@localhost php]#  . test.sh
    Hello World !
    [root@localhost php]# source test.sh
    Hello World !
    

    使用”source”或”.”读入或者加载指定的shell脚本文件son.sh,然后依次执行shell脚本中son.sh的所有语句,这些语句将作为当前父shell脚本father.sh进程的一部分执行。因此使用”source”与”.”时,可以将son.sh自身脚本中的变量的值或函数的返回值传递到当前的父shell脚本father.sh中使用(这是第三种与前两种最大的区别)。

    相关文章

      网友评论

        本文标题:shell脚本三种执行方式

        本文链接:https://www.haomeiwen.com/subject/fvfvjktx.html