看板Linux
标 题Re: [问题]当source遇上$0变数时...
发信站SayYA 资讯站 (Sat Sep 6 12:46:24 2008)
转信站ptt!ctu-reader!ctu-gate!ctu-peer!news.nctu!News.Math.NCTU!SayYa
※ 引述《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