linux的sh文件怎么执行,linux下执行sh文件的四种做法

linux的sh文件怎么执行,linux下执行sh文件的四种做法https blog csdn net Touch Dream article details 四中方法方法一 切换到 shell 脚本所在的目录 此时 称为工作目录 执行 shell 脚本 代码如下 cd data shell hello sh 的意思是说在当前的工作目录下执行 hello sh 如果不加上 bash 可能会响应找到不到 hello sh 的错误信息 因为目前的工作

https://blog.csdn.net/Touch_Dream/article/details/

四中方法

方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:

代码如下:

cd /data/shell

./hello.sh

./的意思是说在当前的工作目录下执行hello.sh。如果不加上./,bash可能会响应找到不到hello.sh的错误信息。因为目前的工作目录(/data/shell)可能不在执行程序默认的搜索路径之列,也就是说,不在环境变量PASH的内容之中。查看PATH的内容可用 echo $PASH 命令。现在的/data/shell就不在环境变量PASH中的,所以必须加上./才可执行。

方法二:以绝对路径的方式去执行bash shell脚本:

代码如下:

/data/shell/hello.sh

方法三:直接使用bash 或sh 来执行bash shell脚本:

代码如下:

cd /data/shell

bash hello.sh

代码如下:

cd /data/shell

sh hello.sh

注意,若是以方法三的方式来执行,那么,可以不必事先设定shell的执行权限,甚至都不用写shell文件中的第一行(指定bash路径)。因为方法三是将hello.sh作为参数传给sh(bash)命令来执行的。这时不是hello.sh自己来执行,而是被人家调用执行,所以不要执行权限。那么不用指定bash路径自然也好理解了啊,呵呵……。

方法四:在当前的shell环境中执行bash shell脚本:

代码如下:

cd /data/shell

. hello.sh

代码如下:

cd /data/shell

source hello.sh

几种方法的对比:

前三种方法执行shell脚本时都是在当前shell(称为父shell)开启一个子shell环境,此shell脚本就在这个子shell环境中执行。shell脚本执行完后子shell环境随即关闭,然后又回到父shell中。

而方法四则是在当前shell中执行的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210809.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午11:52
下一篇 2026年3月18日 下午11:52


相关推荐

  • python 写txt换行_python列表写入文件

    python 写txt换行_python列表写入文件将’w’ 改为’a’,是在文件后面写入,不替换原有文件然后 在你需要写入的数据前加上’\n’可实现换行,如图  

    2022年10月2日
    5
  • DeepSeek/腾讯元宝+Kimi极速生成PPT

    DeepSeek/腾讯元宝+Kimi极速生成PPT

    2026年3月12日
    1
  • 从listView1中选择记录到listView2中「建议收藏」

    从listView1中选择记录到listView2中「建议收藏」publicclassSelectWorker{publicintpAreaID,WorkerID;publicstringpArea,WkName;}

    2022年7月26日
    12
  • Spring和SpringDataJpa整合详解

    Spring和SpringDataJpa整合详解Spring和SpringDataJpa整合详解一、概述SpringBoot操作数据库有多种方式,如JDBC直接操作:太古老了,没人愿意这样玩Mybatis插件:比较时髦,比较适合sql复杂,或者对性能要求高的应用,因为sql都是自己写的。Spring-data-jpa:使用hibernate作为实现,基本上不需要写sql,因为sql都是统一的,总是会产生多余的查询,性能上…

    2022年6月9日
    46
  • 判断完全二叉树

    判断完全二叉树完全二叉树的定义:一棵二叉树,除了最后一层之外都是完全填充的,并且最后一层的叶子结点都在左边。https://baike.baidu.com/item/%E5%AE%8C%E5%85%A8%E4%BA%8C%E5%8F%89%E6%A0%91/7773232?fr=aladdin百度定义 思路:层序遍历二叉树如果一个结点,左右孩子都不为空,则pop该节点,将其左右孩子入队列…

    2022年7月13日
    26
  • NMS(非极大值抑制)

    NMS(非极大值抑制)近段时间一直在看 multi personposees 在最后有一个剔除候选 keypoint 的过程 该过程采用的 NMS 方法 但我一直对 NMS 不理解 经过查找资料 整理出本人对 NMS 的理解内容 如有不对请指出 在引进 NMS 概念之前我们先介绍 IOU 交并比 因为在 NMS 中选出框图起到至关重要的作用 1 IOU 交并比 物体检测需要定位出物体的 boundingbox 就像上面的图片一样 我们不仅要定位出车辆的 bounding

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号