我正在尝试使用另一个用户运行命令,使用以下命令:
sudo su - myuser -c "/my/command.sh -Dparam=lorem | sed '/^BUILD SUCCESSFUL$/ q'";
sh文件调用ant脚本。当BUILD SUCCESSFUL出现在文件中时,我需要结束此操作。但是,如果我在myuser中运行这个,它就会工作。如果我通过另一个用户运行它,并使用su-c,它不会在最后退出,我需要按CTRL+c。
我该如何在最后退出?
/my/command.sh包含以下内容:
nohup something.sh > /opt/lastrun.log &
tail -n 0 -f /opt/lastrun.log
我通过将管道sed变成来解决问题
{ sed '/^BUILD SUCCESSFUL$/ q'; pkill -PIPE -xg0 tail; }