中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

shell腳本的執行方式有哪些

發布時間:2021-06-05 10:57:13 來源:億速云 閱讀:206 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關shell腳本的執行方式有哪些,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

首先,看下我們的腳本內容

[tan@tan scripts]$ ll
total 4
-rw-rw-r--. 1 tan tan 68 May 8 23:18 test.sh
[tan@tan scripts]$ cat test.sh 
#!/usr/bin/bash

/usr/bin/python <<-EOF
print "Hello Shell"
    EOF

1、工作目錄執行

工作目錄執行,指的是執行腳本時,先進入到腳本所在的目錄(此時,稱為工作目錄),然后使用 ./腳本方式執行

[tan@tan scripts]$ ./test.sh
-bash: ./test.sh: Permission denied
[tan@tan scripts]$ chmod 764 test.sh
[tan@tan scripts]$ ./test.sh
Hello Shell

如圖,報了權限錯誤,上一篇博文有提到,這里需要賦權,使用chmod 764 test.sh 賦權后就可以正常執行了

./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄 (/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變量PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變量PASH中的,所以必須加上./才可執行。

2、絕對路徑執行

絕對路徑中執行,指的是直接從根目錄/到腳本目錄的絕對路徑

[tan@tan scripts]$ pwd
/home/tan/scripts
[tan@tan scripts]$ `pwd`/test.sh 
Hello Shell
[tan@tan scripts]$ /home/tan/scripts/test.sh 
Hello Shell

這里 `pwd` 指的是該命令執行結果,等同于 /home/tan/scripts

3、sh執行

sh執行,指的是用腳本對應的sh或bash來接著腳本執行

[tan@tan scripts]$ sh test.sh 
Hello Shell
[tan@tan scripts]$ bash test.sh 
Hello Shell

注意,若是以方法三的方式來執行,那么,可以不必事先設定shell的執行權限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三 是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行權限。那么不用 指定bash路徑自然也好理解了啊,呵呵……。

4、shell環境執行

shell環境執行,指的是在當前的shell環境中執行,可以使用 . 接腳本 或 source 接腳本

[tan@tan scripts]$ . test.sh 
Hello Shell
[tan@tan scripts]$ source test.sh 
Hello Shell

看完上述內容,你們對shell腳本的執行方式有哪些有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽中县| 遂溪县| 桃江县| 安庆市| 丹棱县| 中卫市| 米林县| 大埔县| 宁波市| 清镇市| 德令哈市| 亚东县| 黑河市| 盐池县| 永济市| 天门市| 彰化市| 吴桥县| 兰溪市| 东台市| 临湘市| 漳浦县| 枞阳县| 武义县| 兴安盟| 荃湾区| 玛纳斯县| 裕民县| 道孚县| 南城县| 徐汇区| 巴楚县| 陆良县| 溧阳市| 定边县| 遵义市| 巴林左旗| 武威市| 阜宁县| 沙田区| 绥中县|