[LPIC-1]GNU and Unix Commands 31

From a Bash shell, which of the following commands directly executes the instruction from the file /usr/local/bin/runme.sh without starting a subshell? (Please select TWO answers.)

A.

source /usr/local/bin/runme.sh

B.

. /usr/local/bin/runme.sh

C.

/bin/bash /usr/local/bin/runme.sh

D.

/usr/local/bin/runme.sh

E.

run /usr/local/bin/runme.sh

題解

「source」指令可以在當前shell下執行某個shell script檔案,因此在這shell script檔案執行時若有對變數進行修改,也會影響到原本的shell。

「sh」或是「xsh」(如bash)這樣的shell script檔案執行方式,會產生新的子shell(subshell)來執行。

選項A,正確答案。

選項B,使用「.」來執行shell script檔案,等同於使用「source」來執行shell script檔案,並不會產生新的子shell。為正確答案。

選項C,會產生新的子shell。

選項D,直接執行shell script檔案,會產生新的子shell。

選項E,沒有「run」這種指令。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章