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的變量。腳本在子進程中執行。
相關文章
相關標籤/搜索