Ⅰ 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是保存退出。