bash 執行後 如何關閉 [論壇 - 新手村]
正在瀏覽:
1 名遊客
bash 執行後 如何關閉 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2017/3/31 11:10 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
如題
我有個test.sh檔 內容大概如下 #!/bin/bash IDnumber=../../R123456789 cd $IDnumber gitbook pdf if [ $? -eq 0 ];then echo success; else echo fail; fi exit 第1 2 3行就不解釋了 第4行是一個產生gitbook PDF檔的指令 第5行是判斷第4行執行完後 若成功則印出success;反之印出fail 第6行是指test.sh執行完後關閉 我問題在第6行 如果我直接在終端機上輸入exit執行 會關閉終端機 而我要的正是這種效果.. 但是寫在sh檔裡執行 卻不會關閉 該怎麼做呢?
2017/3/31 11:21
|
||||||||||
![]() |
回覆: bash 執行後 如何關閉 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2016/4/18 12:29 所屬群組:
已註冊使用者 等級: 9
HP : 0 / 221
![]() |
沒用過gitbook pdf
你確定4、5行正確? 你試試exit 0
2017/3/31 11:28
|
||||||||||
![]() |
回覆: bash 執行後 如何關閉 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2017/3/31 11:10 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
百分之百確定執行沒問題
因為有印出success 您可以把gitbook pdf 換成其他您知道的指令 (例如ls或是find這類需要執行時間去run的指令) 另外.. 我試過exit 0了 沒有反應~
2017/3/31 11:37
|
||||||||||
![]() |
回覆: bash 執行後 如何關閉 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 35
HP : 171 / 855
![]() |
執行 shell script,是開了一個新的 shell 來執行。
所以在 shell script 裡面執行 exit , 只是離開 shell script,也就是離開執行的 shell。 並不會關閉目前的 Terminal。 至於執行完 shell script,要怎麼關閉 Terminal,我也不曉得 :p 另外有聯想到「Desktop Entry Specification」。 還有想到一個就是 kill 目前執行的 terminal 的 process http://linux.vbird.org/linux_basic/0440processcontrol.php#process_2 不過我也不確定細節要怎實做,以前沒去嘗試過 以上參考, 先來去吃飯 ![]()
2017/3/31 11:58
|
||||||||||
![]() |
回覆: bash 執行後 如何關閉 terminal |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 35
HP : 171 / 855
![]() |
突然想到,不然就是指令這樣下,也可以離開Terminal。
註:上面主要會離開Terminal目前執行的shell,若您原本有額外再執行shell, 也就是您開啟了一個「Terminal」,概念上會先執行一個「Shell (bash or zsh or fish or ..)」, 然後你下指令,再執行一次「bash」, 上面指令「./test.sh && exit」只會離開這一層,這樣就不會離開Terminal,因為還有一層。 要離開「Terminal」,需要關掉最上層那個「shell」,也就是「Terminal」一開始開啟的那個「shell」。 以下是參考的test.sh #!/usr/bin/env bash exit 0 # 成功 或是 test.sh #!/usr/bin/env bash IDnumber=../../R123456789 cd $IDnumber gitbook pdf if [ $? -eq 0 ]; then echo success exit 0 else echo fail exit 1 fi 或是 test.sh #!/usr/bin/env bash IDnumber=../../R123456789 cd $IDnumber gitbook pdf ## 離開後的 $? 會是 gitbook 執行完的 「exit status」,也就是最後一個指令或function的「exit status」。 =============================================== a.sh
b.sh
執行
顯示
執行
顯示
關於「true」或「false」的用法, 在「bash」可以執行「$ help true」和「$ help false」來觀看使用說明。 =============================================== 此篇連結,一併紀錄到這個「索引」。 ![]()
2017/3/31 12:06
|
||||||||||
![]() |
回覆: bash 執行後 如何關閉 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2017/3/31 11:10 所屬群組:
已註冊使用者 等級: 1
HP : 0 / 21
![]() |
謝謝
2017/3/31 13:06
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.