在Linux下,如果你需要執行shell腳本,那么應該使用那個命令呢?下面由我為大家整理了linux shell腳本執行命令的相關知識,希望對大家有幫助!
10年積累的成都做網站、成都網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有和碩免費網站建設讓你可以放心的選擇與我們合作。
linux shell腳本執行
linux shell腳本執行方法一: 切換到shell腳本所在的目錄(此時,稱為工作目錄)執行shell腳本:
cd /data/shell
./hello.sh
./的意思是說在當前的工作目錄下執行hello.sh。如果不加上./,bash可能會響應找到不到hello.sh的錯誤信息。因為目前的工作目錄(/data/shell)可能不在執行程序默認的搜索路徑之列,也就是說,不在環境變量PASH的內容之中。查看PATH的內容可用 echo $PASH 命令。現在的/data/shell就不在環境變量PASH中的,所以必須加上./才可執行。
linux shell腳本執行方法二: 以絕對路徑的方式去執行bash shell腳本:
/data/shell/hello.sh
linux shell腳本執行方法三: 直接使用bash 或sh 來執行bash shell腳本:
cd /data/shell
bash hello.sh
或
cd /data/shell
sh hello.sh
注意,若是以方法三的方式來執行,那么,可以不必事先設定shell的執行權限,甚至都不用寫shell文件中的第一行(指定bash路徑)。因為方法三是將hello.sh作為參數傳給sh(bash)命令來執行的。這時不是hello.sh自己來執行,而是被人家調用執行,所以不要執行權限。那么不用指定bash路徑自然也好理解了啊。
linux shell腳本執行方法四: 在當前的shell環境中執行bash shell腳本:
cd /data/shell
. hello.sh
或
cd /data/shell
source hello.sh
前三種方法執行shell腳本時都是在當前shell(稱為父shell)開啟一個子shell環境,此shell腳本就在這個子shell環境中執行。shell腳本執行完后子shell環境隨即關閉,然后又回到父shell中。而方法四則是在當前shell中執行的。
原文及更新:
直接在/etc/rc.local(/etc/rc.d/rc.local)文件中添加即可
上面這腳本實際上在使用時出現了問題, /home/neucrack/software/ss/start_ss_local.sh 這個命令始終沒有被執行,原因是 /home/neucrack/software/ss/start_kcptun_client.sh 中的命令阻塞了進程,導致后面一句始終沒有執行,可以將他們分別放到后臺執行就行了,如何在后臺執行可以看文章最后一部分
也可以自己手動在rc*.d中建立軟連接
桌面系統搜索 啟動 ,打開啟動管理器 添加刪除即可
一般有以下幾種方法:
1)在輸入命令的最前面加上 nohup 命令
如 nohup your_command 這樣命令在你退出后仍然會在后臺執行
2) setsid 命令
setsid your_command 該命令的結果是使你所運行的命令的父進程為init,所以只有關機該進程才會停止
3) (your_command )
就是用括號將你的命令括起來,這樣做也是使命令的父進程為init
4) disown
當你在命令行下輸入 your_command 后命令就在后臺執行了,然后執行jobs命令,該命令會列出當前正在后臺執行的命令。例如輸入命令“top”
然后執行"jobs"
輸出結果是
[1] + Suspended (tty output) top
注意行開頭方括號內的數字,該數字叫做jobspec,是給當前后臺運行的job的編號。這是你只要在命令行下輸入"disown -h 1" 后臺運行的top命令就不會受到hangup信號的影響了。
5)使用 screen 命令
在命令行下輸入screen命令就開啟了一個screen進程,它就好像是一個全新的命令運行環境,在該環境中你可以像在正常的terminal下那樣執行
命令,但是這個screen是不受其父進程的hangup信號的影響的,既然screen不受其父進程影響,當你意外掉線或者退出系統時,在screen
中仍在執行的命令仍然會繼續執行。關于screen命令的使用方法你可以再去查閱相關資料。
在linux上執行腳本,當退出頁面或電腦鎖屏后,腳本就停止執行了。對需要長時間運行的腳本非常不友好。
nohup(no hang up):可以讓程序不掛斷執行。
:可以讓程序在后臺執行。
“ nohup.log”: 表示將日志輸出到nohup.log文件上。
21:表示將正確日志、錯誤日志都輸出到正確日志指定的文件(nohup.log文件)上。
名稱欄目:linux實時執行命令 linux 命令執行過程
文章出自:http://vcdvsql.cn/article44/dopgdhe.html
成都網站建設公司_創新互聯,為您提供網站排名、網站收錄、建站公司、品牌網站設計、自適應網站、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯