1 给脚本加上执行权限chmod u+x a.sh, 而后就可以直接用全路径来执行脚本了,比如当前文件夹下用./a.sh, 如果脚本所在目录在PATH环境变量之中, 则直接用a.sh即可

2 sh/bash a.sh的路径,这种情况不需要脚本具有执行权限.

以上两种情况中,脚本中$0都是a.sh,都是在shell的子进程中运行的.

3 source a.sh的路径

4 . a.sh的路径

以 上两种情况都是脚本在当前shell的进程中运行,所以$0都是bash/sh, 区别在于, source不是posix shell的内置命令,所以3在sh中实际上是不能运行的,在bash中可以. 而.则无论在bash还是posix shell中都是可以用来载入并执行脚本. 所以, 相对而言, 应该是4 更加具有移植性.

运行Shell脚本的几种方式解析的更多相关文章

  1. 执行shell脚本的四种方式(转)

    原文网址:https://www.jb51.net/article/53924.htm 这篇文章主要介绍了Linux中执行shell脚本的4种方法,即总结在Linux中运行shell脚本的4种方法. ...

  2. 执行shell脚本的四种方式

    这篇文章主要介绍了Linux中执行shell脚本的4种方法,即总结在Linux中运行shell脚本的4种方法. 前提:bash shell 脚本的方法有多种,假设我们编写好的shell脚本的文件名为h ...

  3. Shell 脚本中调用另一个 Shell 脚本的三种方式

    主要以下有几种方式: Command Explanation fork 新开一个子 Shell 执行,子 Shell 可以从父 Shell 继承环境变量,但是子 Shell 中的环境变量不会带回给父 ...

  4. 运行 Shell 脚本有两种方法:

    1.作为可执行程序 将上面的代码保存为 test.sh,并 cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 注意,一定要写成 ./tes ...

  5. Java运行Python脚本的几种方式

    由于在项目需要执行Python,找寻相关资料,总结出以下几种方式: 直接执行Python脚本代码 引用 org.python包 PythonInterpreter interpreter = new ...

  6. mongodb shell 运行js脚本的四种方式

    1. 交互式 mongo shell   大部分的 mongodb 教程,在第一章都会讲解这种方式. mongo 127.0.0.1:27017 use test db.users.findOne() ...

  7. 013-在 Shell 脚本中调用另一个 Shell 脚本的三种方式

    如下: fork: 如果脚本有执行权限的话,path/to/foo.sh.如果没有,sh path/to/foo.sh. exec: exec path/to/foo.sh source: sourc ...

  8. Shell脚本的三种执行方式

    Shell脚本的执行方式可以有以下几种: 方式一:  ./script.sh # 利用小数点来执行 方式二:  sh script.sh 或 bash script.sh # 利用bash(sh)来执 ...

  9. 创建和运行shell脚本程序

    转载请标明http://www.cnblogs.com/winifred-tang94/ 要创建一个shell脚本程序,首先新建一个文本文件,然后在这个文本文件中按照shell编程规则输入shell命 ...

随机推荐

  1. NOI 05:最高的分数描述

    描述 孙老师讲授的<计算概论>这门课期中考试刚刚结束,他想知道考试中取得的最高分数.因为人数比较多,他觉得这件事情交给计算机来做比较方便.你能帮孙老师解决这个问题吗? 输入输入两行,第一行 ...

  2. JS 获取客户端操作系统

    function detectOS() {     var sUserAgent = navigator.userAgent;     var isWin = (navigator.platform ...

  3. unity3D5旧动画系统注意事项

    最近在写人物控制时因为习惯用旧动画系统所以也没想那么多,就直接在新系统下按照老样子写了,突然发现animation.play不能用了,后来重新声明了变量: public Animation anim; ...

  4. Centos下设置VNC为3389端口

    1.安装vnc yum install vnc vnc-server yum install vnc vnc-server 2.修改vnc端口,修改/usr/bin/vncserver ,把5900变 ...

  5. springMVC使用@ResponseBody返回json

    json格式:{"totle":22,"rows":"sss"} map格式:{totle=22, rows=sss} 一.springMV ...

  6. SSAS中事实表中的数据如果因为一对多或多对多关系复制了多份,在维度上聚合的时候还是只算一份

    SSAS事实表中的数据,有时候会因为一对多或多对多关系发生复制变成多份,如下图所示: 图1 我们可以从上面图片中看到,在这个例子中,有三个事实表Fact_People_Money(此表用字段Money ...

  7. oracle事物

    要想解释oracle事物的工作流程,首先先解释几个小概念:       1.undo段的组成:段头.回滚块       2.事物ID:每一个事物都有一个自己的事物ID,就像身份证号一样. 在v$tra ...

  8. Oracle提示大全

    Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比. 此时就需要DBA进行 ...

  9. js中的this,call及apply

    在前端网看了这么一篇文章,觉得讲得还不错,不深入但易懂,所以我这里把这个经典的问题也记下来. 1:声明式函数与定义函数表达式 console.log(f1);//f1() console.log(f2 ...

  10. 一场属于HTML5守望者的盛宴——记图灵参加HTML5峰会

    2013年8月,北京正是一个火热的季节.一场火热的盛会,HTML5 峰会如约来袭.这是一场属于 HTML5 守望者的盛宴!HTML5作为一项新兴的技术,其未来是光明的,但是道路却是曲折的.需要标准的不 ...