日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

『SHELL』--SHELL脚本执行方式(转)

發(fā)布時間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 『SHELL』--SHELL脚本执行方式(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Shell腳本的執(zhí)行方式:

注明:wd代表“腳本保存的目錄”

??
1.fork
語法:/wd/shell.sh
fork是最普通的, 就是直接在腳本里面用/wd/shell.sh來調(diào)用shell.sh這個腳本.運行的時候開一個子shell執(zhí)行調(diào)用的腳本,子shell執(zhí)行的時候, 父shell還在。子shell執(zhí)行完畢后返回父shell。子shell從父shell繼承環(huán)境變量.但是子shell中的環(huán)境變量不會帶回父 shell

2.exec
語法: exec /wd/shell.sh
exec與fork不同,不需要新開一個sub-shell來執(zhí)行被調(diào)用的腳本. 被調(diào)用的腳本與父腳本在同一個shell內(nèi)執(zhí)行。但是使用exec調(diào)用一個新腳本以后, 父腳本中exec行之后的內(nèi)容就不會再執(zhí)行了。這是exec和source的區(qū)別。

3.source
語法:source /wd/shell.sh
與fork的區(qū)別是不新開一個子shell來執(zhí)行被調(diào)用的腳本,而是在同一個shell中執(zhí)行。所以被調(diào)用的腳本中聲明的變量和環(huán)境變量, 都可以在主腳本中得到和使用。

4.()
語法:( 語句;語句;語句;…… )
圓括號中命令列表的命令將會運行在一個子shell中。

比如:
$ (cd ..;ls -l)
cd ..命令改變的是子Shell的PWD,而不會影響到交互式Shell。
然而命令
$ cd ..;ls -l
則有不同的效果,cd ..命令是直接在交互式Shell下執(zhí)行的,改變交互式Shell的PWD,然
而這種方式相當于這樣執(zhí)行Shell腳本:
$ source ./script.sh
或者
$ . ./script.sh

source或者.命令是Shell的內(nèi)建命令,這種方式也不會創(chuàng)建子Shell,而是直接在交互式Shell下逐行執(zhí)行腳本中的命令。


source命令、.命令
語法: . filename [arguments]
??? source filename [arguments]
作用:
當在命令 行中調(diào)用的時候, 這個命令將會執(zhí)行一個腳本. 當在腳本中調(diào)用的時候, source file-name 將會加載file-name文件, 或者 . (點命令)一個文件將會在腳本中引入代碼, 并將這些代碼附加到腳本中(與C語言中的#include指令效果相同). 最終的結(jié)果就像是在使用"source"的行上插入了相應(yīng)文件的內(nèi)容.
在多個腳本需要引用相同的數(shù)據(jù), 或者需要使用函數(shù)庫的情況下, 這個命令非常有用.

5.{}
{語句;語句;……}不會啟動子SHELL。

轉(zhuǎn)載于:https://www.cnblogs.com/tangdoudou/p/3384186.html

總結(jié)

以上是生活随笔為你收集整理的『SHELL』--SHELL脚本执行方式(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。