Re: [問題]當source遇上$0變數時...
※ 引述《ju22 (蹲下來是為了跳更遠)》之銘言:
> hi,everybody
> 在shell script當中 $0這個內建變數代表的是
> shell script檔案名稱
> 用 ./shellscript.sh 或 bash shellscript.sh
> 來執行時,可以正確地把shell script裡面的
> echo $0命令顯示成
> ./shellscript.sh
> 和
> shellscript.sh
> 但是當我測試時,
> 用source(不fork subshell,以目前的shell來執行)命令執行時
> $source shellscript.sh
> (或和source 有相同意義的 ".")
> $. shellscript.sh
> 在echo $0的命令執行後
> 卻顯示
> -bash
> 請問這是什麼意義呢??
> 為什麼會這樣呢??
> thanks!!
. 與 source 表示以目前該 shell 來讀入執行,所以 script 只是
一個很單純的文字檔進而被 shell 讀入使用而已,所以取 $0 當然
是目前 shell 的程式檔名。
--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
現代人普遍的現象: 「小學而大遺」、「捨本而逐末」
「以偏而概全」、「因噎而廢食」
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: info.sayya.org
討論串 (同標題文章)