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的一个软连接。

[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的变量。脚本在子进程中执行。
阅读 280
54 声望
1 粉丝
0 条评论
你知道吗?

54 声望
1 粉丝
宣传栏