shell脚本被调用时使用nohup 需要回车才结束的解决方法

558 阅读1分钟

假设有sh_test.sh

#!/bin/bash

while [ 1 -eq 1 ];
do
echo "aaa"
sleep 2
done

则新增加sh_start.sh来调用以上脚本。

#!/bin/bash  
str=$"\n"  
#nohup sh sh_test.sh >/dev/null 2>&1 &  
nohup ./sh_test.sh > /dev/null 2>&1 &  
sstr=$(echo -e $str)  
echo $sstr

执行./sh_start.sh 可以看到直接结束。而sh_test.sh就可以在后台一直运行了