ubuntu下bash,sh,source, ./ 命令的区别 以及.sh脚本的运行

sh其实就是dash

Pan.zs@amax:/bin$ ll | grep sh
-rwxr-xr-x  1 root root 1183448 6月  18  2020 bash*
-rwxr-xr-x  1 root root  129816 7月  19  2019 dash*
lrwxrwxrwx  1 root root       4 6月  18  2020 rbash -> bash*
lrwxrwxrwx  1 root root       4 7月  19  2019 sh -> dash*
lrwxrwxrwx  1 root root       4 1月   6  2021 sh.distrib -> dash*
lrwxrwxrwx  1 root root       7 11月 11  2020 static-sh -> busybox*

可以看到sh是dash的链接

dash(theDebian Almquist Shell)

bash(the GNUBourne-Again Shell).

相比于bash,dash更快、更高效,而且它符合POSIX规范。

Ubuntu在启动的时候会运行很多shell脚本,使用dash可以加快启动速度

但是对于某些指令只有bash支持
 

相对于bash和dash,source是在父进程即当前shell环境中执行

而sh, bash, dash都是使用一个新的子进程即新的shell环境,结束后不会传到父进程中

这也是为什么在不注销系统的前提下,要使得bashrc里的更改生效要使用source ~/.bashrc 而不是 bash ~/.bashrc

以上四种(sh, bash, dash, source)都不需要文件执行权限

./xxx则需要文件的执行权限

更多参考:

Ubuntu dash与bash的区别_Hansel的专栏-CSDN博客_bash dash

脚本开头释义
#!/bin/sh             /bin/sh 
#!/bin/bash           bash shell
#!/bin/csh            csh shell
#!/usr/bin/env python  python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值