千家信息网

shell中bash、sh、./、source的示例分析

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,这篇文章主要介绍shell中bash、sh、./、source的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!sh 和 bashGNU/Linux 操作系统中的 /bi
千家信息网最后更新 2024年11月26日shell中bash、sh、./、source的示例分析

这篇文章主要介绍shell中bash、sh、./、source的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  1. sh 和 bash

GNU/Linux 操作系统中的 /bin/sh 本是 bash (Bourne-Again Shell) 的符号链接,但鉴于 bash 过于复杂,有人把 bash 从 NetBSD 移植到 Linux 并更名为 dash (Debian Almquist Shell),并建议将 /bin/sh 指向它,以获得更快的脚本执行速度。Dash Shell 比 Bash Shell 小的多,符合POSIX标准。

1. ubuntuLinux localhost 4.4.0-105-generic #128-Ubuntu SMP Thu Dec 14 12:42:11 UTC 2017 x86_64 x86_64 x86_64 GNU/Linuxxhx@localhost:~$ ls -la /bin/shlrwxrwxrwx 1 root root 4 Aug 17  2017 /bin/sh -> dash2. centos[root@xuhx-02 bin]# uname -aLinux xuhx-02 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux[root@xuhx-02 bin]# ls -la shlrwxrwxrwx. 1 root root 4 6月  25 16:52 sh -> bash
  1. sh/bash 和 source

  • sh/bash 是打开子shel,在子shell 中运行,在子shell 设置的环境变量不会影响到父shell;

  • source 是在当前shell 中运行,因此修改完环境变量需要运行source /etc/profile 使其生效 而不是使用sh/bash命令;source = .;

  • ./ 需要对执行的脚本有r和x权限

[root@xuhx-02 ~]# sh t.sh anaconda-ks.cfg  hello  n2n  newdir1  pytho.py  rpmbuild  sort  test.sh  t.sh  ttttt.sh[root@xuhx-02 ~]# bash t.shanaconda-ks.cfg  hello  n2n  newdir1  pytho.py  rpmbuild  sort  test.sh  t.sh  ttttt.sh[root@xuhx-02 ~]# ./t.sh-bash: ./t.sh: 权限不够[root@xuhx-02 ~]# source t.shanaconda-ks.cfg  hello  n2n  newdir1  pytho.py  rpmbuild  sort  test.sh  t.sh  ttttt.sh[root@xuhx-02 ~]# . t.sh anaconda-ks.cfg  hello  n2n  newdir1  pytho.py  rpmbuild  sort  test.sh  t.sh  ttttt.sh

以上是"shell中bash、sh、./、source的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0