Linux中bash、sh、./命令的区别

之前在centos7上面执行用pyinstaller打包的程序时发现用【bash xxx】无法运行。改用【./xxx】就可以运行。遂百度一波发现了自己之前理解的一个误区,特记录如下。

Linux存在多种解释器,以下是常用的几种(下方为原文):

bash:
这是Bash shell的解释器。当你使用bash script.sh运行脚本时,你是在告诉系统使用Bash解释器来执行脚本。这意味着脚本中的所有Bash特性都可以使用。


sh:
这是Bourne shell的解释器。当你使用sh script.sh运行脚本时,你是在告诉系统使用Bourne shell解释器来执行脚本。这可能会导致一些在Bash中可用但在Bourne shell中不可用的特性无法使用。


./:
这是在当前目录下运行脚本的方法。当你使用./script.sh运行脚本时,你是在告诉系统在当前目录下查找并执行脚本。这种方法需要脚本具有执行权限,并且会使用脚本文件头部的shebang(#!)指定的解释器来执行脚本。如果没有指定解释器,将使用默认的shell解释器。
————————————————
版权声明:本文为CSDN博主「小蜗牛冲鸭~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34761779/article/details/131998666

posted @   平行时空的旅者  阅读(705)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示