Linux執行腳本有兩種方式,主要區別在於是否建立子shell 1、像sh,bash,./命令是用來執行shell腳本的,在bash/sh命令下,腳本文件可以無"執行許可權",即沒有rwx中的x許可權。而對於./命令,腳本文件必須要有執行許可權。<!--5f39ae17-8c62-4a45-bc43-b3 ...
Linux執行腳本有兩種方式,主要區別在於是否建立子shell 1、像sh,bash,./命令是用來執行shell腳本的,在bash/sh命令下,腳本文件可以無"執行許可權",即沒有rwx中的x許可權。而對於./命令,腳本文件必須要有執行許可權。 創建子shell,在當前bash環境下再新建一個子shell執行腳本中的命令子shell繼承父shell的變數,但子shell不能使用父shell的變數,除非使用export聲明為環境變數 子Shell從父Shell繼承得來的屬性如下: 當前工作目錄 環境變數 標準輸入、標準輸出和標準錯誤輸出 所有已打開的文件標識符 子Shell不能從父Shell繼承的屬性: 除環境變數和.bashrc文件中定義變數之外的Shell變數 2、source和.執行文件不會生成子shell 不創建子shell,在當前shell環境下讀取並執行腳本中的命令,相當於順序執行腳本裡面的命令