<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
shell指令碼是一種指令碼語言,他不需要編譯,而是直接通過直譯器,將指令碼作為直譯器程式的引數執行的。
我們通過編寫vim test.sh,然後用不同方法執行名為test.sh的指令碼。
#!/bin/bash echo "hello word"
1)使用絕對路徑執行。
2)使用相對路徑執行。語法格式:./a.sh
3)使用 sh或bash命令來執行。語法格式: sh a.sh 不需要執行許可權 -x引數(顯示執行過程)
4)使用 . (空格)指令碼名稱來執行。 語法格式:. a.sh 不需要執行許可權(特別注意:第一個.後面有空格)
5)使用 source 來執行。 語法格式:source a.sh 不需要執行許可權(主要用於生效組態檔)
下面針對這5種方式,我們一起來看看它們的具體使用方式和區別吧!
注意:新建立的指令碼,預設沒有x執行許可權,需要給它用#chmod +x test.sh的方式,新增執行許可權。在生產環境中不要輕易的給檔案可執行許可權;
[root@centOS7 shell]# /root/test/shell/test.sh #使用絕對路徑 hello word [root@centOS7 shell]# ./test.sh #使用相對路徑
注意:該方式雖然不需要手動給指令碼新增x執行許可權,但是它會改變指令碼預設直譯器型別。比如說:指令碼首行定義的是#!/bin/bash,使用該方式,它會給你改用/bin/sh直譯器,也就說,最終效果=#!/bin/bash --posix
特別之處:該方式1.不需單獨給指令碼分配x執行許可權;2.甚至都不需要在指令碼首行宣告指令碼直譯器型別,因為指令碼是被當做該命令的引數使用的。
注:你可能會對/bin/bash和/bin/sh的區別感興趣,點選這裡。
ls chomod -x test.sh #給指令碼移除x執行許可權 ls sh test.sh #第3種方式執行 bash test.sh #第3種方式執行
注:該方式,不需要單獨新增x執行許可權,它和source類似,許可權繼承與bash。
ls #檢視指令碼(灰色的,說明沒有x可執行許可權) . test.sh #注意,點後面有個空格
ls #檢視指令碼(灰色的,說明沒有x可執行許可權) source test.sh #該方式多用些操作,被修改後的組態檔(使之重新載入)
注意:
.和source的許可權,繼承的是/bin/bash的許可權,在執行時也是將test.sh作為引數,並不需要test.sh有執行許可權;和bash執行不一樣的是,source和.不會建立子程序,是在當前shell程序下執行的,因為他們是內建命令,所以指令碼中賦值的本地變數也會影響當前shell的,用的時候一定要注意(儘量使用前面的3種方式)。
僅前兩種(相對路徑、絕對路徑)方法,需要chmod +x test.sh,給指令碼單獨新增x執行許可權。後三種方法,均不需要單獨新增x執行許可權。
前三種方法,指令碼執行時會開啟一個子shell環境,在子shell執行完後,子shell環境隨即關閉,然後又回到當前shell中。
後面兩種. 和source方式,則是在當前shell中執行,不會開啟子shell。
到此這篇關於shell指令碼5種執行方式及指令碼不同的執行方法和區別的文章就介紹到這了,更多相關shell指令碼執行方式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45