shell簡(jiǎn)介入門bash編程之執(zhí)行
在Bourne Shell中有五種方式執(zhí)行一個(gè)命令,而這五利方式所產(chǎn)生的結(jié)果有所不同:
::直接下命令:這個(gè)方式和在命令行中用命令的效果一樣。
::使用sh命令sh command:這時(shí)的文件必須是Bourne Shell的腳本,但這個(gè)文件并不一定要設(shè)成
可執(zhí)行。除此之外和直接用命令的方式一樣。
::使用"."命令command:這時(shí)和使用sh命令相似,只不過(guò)它不像sh一般會(huì)產(chǎn)生新的process,相反
地,它會(huì)在原有的process下完成工作。
::使用exec命令exec command:此時(shí)這個(gè)腳本將會(huì)被所執(zhí)行的命令所取代。當(dāng)這個(gè)命令執(zhí)行完畢
之后,這個(gè)腳本也會(huì)隨之結(jié)束。
::使用命令替換:這是一個(gè)相當(dāng)有用的方法。如果想要使某個(gè)命令的輸出成為另一個(gè)命令的參
數(shù)時(shí),就一定要使用這個(gè)方法。我們將命令行放在兩個(gè)"`"符號(hào)。
例如:
str=`Current directory is ``pwd`
echo $str
結(jié)果如下:
Current directory is /home/dfbb
這個(gè)意思是pwd這個(gè)命令輸出"/users/cc/mgtsai",然后整個(gè)字符串代替原來(lái)的pwd設(shè)定str變量,
所以str變量的內(nèi)容則會(huì)有pwd命令的輸出。