shell腳本4種執(zhí)行方式
Linux中shell腳本的執(zhí)行通常有4種方式,分別為工作目錄執(zhí)行,絕對路徑執(zhí)行,sh執(zhí)行,shell環(huán)境執(zhí)行。
首先,看下我們的腳本內(nèi)容
[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、工作目錄執(zhí)行
工作目錄執(zhí)行,指的是執(zhí)行腳本時,先進入到腳本所在的目錄(此時,稱為工作目錄),然后使用 ./腳本方式執(zhí)行
[tan@tan scripts]$ ./test.sh -bash: ./test.sh: Permission denied [tan@tan scripts]$ chmod 764 test.sh [tan@tan scripts]$ ./test.sh Hello Shell
如圖,報了權(quán)限錯誤,上一篇博文有提到,這里需要賦權(quán),使用chmod 764 test.sh 賦權(quán)后就可以正常執(zhí)行了
./的意思是說在當前的工作目錄下執(zhí)行hello.sh。如果不加上./,bash可能會響應(yīng)找到不到hello.sh的錯誤信息。因為目前的工作目錄 (/data/shell)可能不在執(zhí)行程序默認的搜索路徑之列,也就是說,不在環(huán)境變量PASH的內(nèi)容之中。查看PATH的內(nèi)容可用 echo $PASH 命令?,F(xiàn)在的/data/shell就不在環(huán)境變量PASH中的,所以必須加上./才可執(zhí)行。
2、絕對路徑執(zhí)行
絕對路徑中執(zhí)行,指的是直接從根目錄/到腳本目錄的絕對路徑
[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` 指的是該命令執(zhí)行結(jié)果,等同于 /home/tan/scripts
3、sh執(zhí)行
sh執(zhí)行,指的是用腳本對應(yīng)的sh或bash來接著腳本執(zhí)行
[tan@tan scripts]$ sh test.sh Hello Shell [tan@tan scripts]$ bash test.sh Hello Shell
注意,若是以方法三的方式來執(zhí)行,那么,可以不必事先設(shè)定shell的執(zhí)行權(quán)限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三 是將hello.sh作為參數(shù)傳給sh(bash)命令來執(zhí)行的。這時不是hello.sh自己來執(zhí)行,而是被人家調(diào)用執(zhí)行,所以不要執(zhí)行權(quán)限。那么不用 指定bash路徑自然也好理解了啊,呵呵……。
4、shell環(huán)境執(zhí)行
shell環(huán)境執(zhí)行,指的是在當前的shell環(huán)境中執(zhí)行,可以使用 . 接腳本 或 source 接腳本
[tan@tan scripts]$ . test.sh Hello Shell [tan@tan scripts]$ source test.sh Hello Shell
總結(jié)
以上所述是小編給大家介紹的shell腳本4種執(zhí)行方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Shell腳本實現(xiàn)memcache緩存命中率監(jiān)控
這篇文章主要介紹了Shell腳本實現(xiàn)memcache緩存命中率監(jiān)控,這個腳本比較簡單,通過check_tcp腳本獲取memcached的stats信息,然后將該信息格式化成一個字符串,然后將get_hits比上cmd_gets就能得到緩存命中率,需要的朋友可以參考下2014-12-12
Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法
這篇文章主要介紹了Linux Shell循環(huán)中實現(xiàn)展示進度百分比的實現(xiàn)方法的相關(guān)資料,這里提供實現(xiàn)方法及實例,需要的朋友可以參考下2017-08-08
一天一個shell命令 linux好管家-磁盤-du命令詳解
這篇文章主要介紹了一天一個shell命令 linux好管家-磁盤-du命令詳解,需要的朋友可以參考下2016-06-06

