我写了一个简单的bash程序。我想将它作为后台进程运行。但它已经停止了。我不希望这种情况发生。请帮助
/#!/bin/bash
while [ 1 ]; do
command1 | cut -f 3
sleep 5;
done
OUTPUT:
Linux# /tmp/program &
[19] 20162
Linux# Line 1
0
[19] +已停止/ tmp /命令
输出说明:
第1行和第0行是输出,此输出应每5秒显示一次,这就是我想要的
会发生什么:显示第1行和第0行后,控件挂起,按Enter键,我收到Stopped消息。请帮我摆脱这个。
答案 0 :(得分:1)
脚本的第一行:
/#!/bin/bash
实际应该是:
#!/bin/bash
我认为在发布您的问题时这只是一个错字(但您可能想要检查一下,以防万一)。现在,如果我用ls -las替换“command1”,它对我有用:
#!/bin/bash
while [ 1 ]; do
ls -las | cut -f 3
sleep 5;
done
注意我只用ls改变了你的“command1”。
那么什么是“command1”呢?如果“command1”需要stdin输入(只是其中一个案例),你的工作可能会被停止