from http://blog.csdn.net/david_xtd/article/details/8012627
2012.09
問(wèn)題:
有很多方式可以執行腳本,
1)。source test.bsh
2)。. test.bsh
3)。chmod a+x test.bsh;./test.bsh
4)。sh test.bsh
它們之間的差別是什么?
解決辦法:
1. source命令的作用是讀取并執行test.bsh中的命令;
該命令經(jīng)常用點(diǎn)命令“.”來(lái)替代。
就是說(shuō),
# source test.bsh
與
# . test.bsh
的作用完全相同。
2. 用腳本文件名本身執行(如果shell腳本具有可執行權限)和用sh命令執行腳本的作用完全相同。
3. 用source命令執行腳本文件和用sh執行腳本文件的區別:
用source執行腳本文件,執行過(guò)程不另開(kāi)進(jìn)程,腳本文件中設定的變量在當前shell中可以看到;
用sh執行腳本文件,是在當前進(jìn)程另開(kāi)子進(jìn)程來(lái)執行腳本命令,腳本文件中設定的變量在當前shell中不能看到。
比如:
test.bsh的內容如下:
而直接執行腳本文件和使用sh執行腳本時(shí)改變了當前進(jìn)程,并且腳本中的變量不能看到;
問(wèn)題解決。
聯(lián)系客服