问题描述
很抱歉,这是一个非常简单的问题,但是我在Google上找不到“将stdout和stderr重定向到bash脚本”和“将bash脚本输出重定向到另一个bash脚本”的任何内容。
我知道这会将stdout和stderr重定向到log.txt
,但是我不确定如何将其重定向到bash脚本。
java -jar build/libs/bot-kt-1.1.3.jar > log.txt 2>&1
理想情况下,行为类似于以上
java -jar build/libs/bot-kt-1.1.3.jar > "./script.sh" 2>&1 # script.sh uses the $1 argument for input
解决方法
您可以使用xargs将数据从管道移动到参数中:
int test = (int) curRoom.get("id");
将所有内容作为单个参数传递:
java -jar build/libs/bot-kt-1.1.3.jar 2>&1 | xargs ./script.sh
,
您可以为此使用命令替换:
<filter>
除了perreal的答案,如果可以将脚本更改为从stdin读取而不是期望参数,则还可以使用管道:
./script.sh $(java -jar build/libs/bot-kt-1.1.3.jar 2>&1)