【问题标题】:Redirecting the output in shell script重定向shell脚本中的输出
【发布时间】:2011-06-11 07:53:01
【问题描述】:

我有一个 shell 脚本。

在下面的脚本 test.sh 中说是我通过脚本启动的两个过程

1.echo执行Test.sh启动

2.java 进程1 > /dev/null

3.java 进程2 > /dev/null

4.echo执行Test.sh完成

5.退出

现在如果我运行 test.sh,说 process1 正在运行,并且 process2 将根据特定条件杀死 process1,所以当它杀死进程 1 时,它输出,这个输出我想重定向。

现在输出是 执行Test.sh start

test.sh line :2 杀死 pid java process1 > /dev/null

执行 Test.sh 完成

我希望它看起来像下面,那么如何重定向它。

执行 Test.sh 启动

执行 Test.sh 完成

我希望我现在的问题框架很清楚

【问题讨论】:

  • 你的意思是process1会重启吗?

标签: java shell


【解决方案1】:

您是否考虑过重定向错误流

java 进程1 > /dev/null 2> /dev/null

java 进程2 > /dev/null 2> /dev/null

编辑:
我想您是在问如何重定向 bash shell 的输出。使用以下内容:

bash > output.txt
java process1 > /dev/null
java process2 > /dev/null
exit

编辑 2:
似乎只有一种丑陋的方法可以做到这一点,可能无法满足您的需求。

bash > output.txt
java process1 > output1
java process2 > output2
exit
cat output1
cat output2
rm output1 output2

编辑 3:
似乎可以有另一种方式。尝试其他在被杀死时可能无法打印出进程号的shell。

【讨论】:

  • echo输出必须来,只有killed输出不应该来,那么如何重定向呢?
  • 这是一个很好的答案,但我不能使用,因为回显消息必须在 shell 控制台上显示,而且只有 !!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 2018-08-12
  • 2014-09-01
  • 2010-09-05
相关资源
最近更新 更多