shell中的source和直接執行sh的區別

2021-09-07 18:22:28 字數 460 閱讀 2133

首先我們知道我們執行shell有這麼幾種方法

1. sh/bash使用其內建的命令集來執行一些命令,例如如下

sh demo.sh

bash demo.sh

2. 使用./或者/$shellpath/*.sh的方式執行

./demo.sh

/home/vagrant/shell/test.sh

採用上面的方法的話需要將該方法設定為有執行許可權才能執行

3. 採用source shell.sh或者. shell.sh方法執行

source demo.sh

. demo.sh

這三種方法的區別

1.檔案許可權:第二種執行方法需要檔案有x許可權才能執行,其餘方法不需要

2. 變數有效期:採用第三種方法執行檔案,可以使得變數的有效期增長,使得其能在該使用者下變數有效

Shell中的exec和source解析

shell 中的exec 和source 解析 exec 和source 都屬於bash 內部命令,在講這兩個命令之前,前談一下 fork 的概念 fork 是linux 的系統呼叫,用來建立子程序 child process 子程序是父程序 parent process 的乙個副本,從父程序那裡獲...

shell指令碼中source和sh的區別

在當前shell下定義乙個變數 var1 var1 defined in shell 在指令碼中輸出上面定義的變數,然後再定義乙個新的變數 cat eof script.sh echo var1 var2 var var2 defined in the script.sh eof echo var1...

shell 函式和source命令用法

source命令可以在乙個指令碼裡載入另乙個指令碼,下面舉個例子 首先我們定義了乙個函式指令碼,名字叫myfunc.sh 如下 bin bash function square function cube 然後我們再定義另外乙個指令碼,叫caluate bin bash source myfunc....