Linux bash、sh、source、点+空格、点+相对路径执行脚本的区别

查看当前系统支持的shell类型

[root@Geeklp-BashShell ~]# cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

bash shell 简介

一般所说的 bash shell(bash)全称为 GNU Bourne-Again SHell。在目前的发行版中,sh已经成为bash的一个软链接。shell

[root@Geeklp-BashShell ~]# ll /bin/sh
lrwxrwxrwx. 1 root root 4 11月 20 10:05 /bin/sh -> bash
[root@Geeklp-BashShell ~]# ll /bin/bash
-rwxr-xr-x. 1 root root 960472 8月   3 05:11 /bin/bash

bash、sh、source、点+空格、点+相对路径执行脚本的区别

  • bash及sh执行的脚本效果是一致的,但不能继承其余shell的变量。脚本在子进程中执行。
  • source及 [点+空格] 执行的脚本效果是一致的,能够继承其余shell的变量。脚本在父进程中执行。
  • [点+相对路径] 执行的脚本须要增长执行权限,执行效果与bash及sh执行一致,不能继承其余shell的变量。脚本在子进程中执行。
相关文章
相关标签/搜索