Ⅰ linux shell腳本:while循環中調用另一個腳本遇到exit為什麼會跳出循環,且繼續執行循環後的程序
[root@localhost~]#cata.sh
#!/bin/sh
whiletrue
do
echo"loop"
#source./b.sh
exit1
#../b.sh
done
echo"endloop"
[root@localhost~]#sh-xa.sh
+true
+echo'loop'
loop
+exit1
可以看出while也是可以exit的
不是while的錯,是read的問題,exit 1是給了read,read讀取不到東西結束循環。。。所以還會繼續執行while後面的echo
Ⅱ linux怎麼返回輸入命令的狀態
主要要看此時在做什麼。
1、如果是在執行很耗時的命令, 可以先Ctrl-Z, 然後bg使其用background模式運行.。這時就可以回到命令狀態。
2、如果在命令行下使用gedit, 關閉程序窗口(一般先保存文件),就自動退到命令行界面。
如果在命令行下使用vim,先按下ESC退出編輯模式,然後輸入:wq 保存並退出或者q退出或者q!強制退出,從而回到命令行界面。
3、如果是其他的狀態可以嘗試Ctrl+Alt+F1~F6。
Ⅲ linux命令,nohup,執行腳本a.sh後,輸入命令yes
互動式進程要放到後台的話,還是用screen比較好
首先,運行 screen 進入終端
執行你的回程序
按 ctrl + a ,再按 d 鍵可以暫答時退出終端
當要返回時, 先查看剛才的終端進程ID, screen -list
然後 screen -r xx(剛才的進程ID)就可以了
Ⅳ linux命令行下,怎麼關閉正在執行的bash腳本
killall 腳本名
就算屏幕上在一直列印,你只管輸入(盲輸或復制粘貼過來),完成後一個回車ok。
哪怕輸入的東西在屏幕上顯示時會被輸出攪亂,但實際是會被終端接收到標准輸入管道的。這個方法我剛剛也試過了,是可以的。
上面的用於後台運行情況。前台運行一般ctrl+c是可以終止的。
Ⅳ linux如何寫個可執行文件的循環執行腳本
腳本如下:版
#!權/bin/bash
for((i=2;i<=18;i++))
do
sed-i's/srfn=ny-89-.*-sr/srfn=ny-89-0'"$i"'-sr/g'sps
sed-i's/sfn=00.*prn/sfn=00'"$i"'.prn/g'sps
aas
done
Ⅵ linux中編寫完一個腳本怎樣退出
使用vi/vim編輯的:
直接先ESC退出編輯狀態,再按:冒號,就是進入命令狀態;wq是保存退出。