我有以下脚本文件,它执行Java主类并在终端上打印一些日志数据。我想将打印此程序的任何内容重定向到另一个终端(例如/dev/pts/1,但这对我无效)。该怎么做呢?
#!/bin/sh
# Usage: ./zipfs_mount.sh file.zip /mount/point
. ./build.conf
LD_LIBRARY_PATH=./jni:$FUSE_HOME/lib $JDK_HOME/bin/java \
-classpath ./build:./lib/commons-logging-1.0.4.jar \
-Dorg.apache.commons.logging.Log=fuse.logging.FuseLog \
-Dfuse.logging.level=DEBUG \
Main -f -s $2 $1 > /dev/pts/1发布于 2013-03-29 19:24:15
假设程序将其日志写入标准输出而不是标准错误,并且/dev/pts/1是另一个终端的正确设备,那么您编写的内容应该可以工作。您可以使用类似以下内容进行测试:
echo Hello > /dev/pts/1这应该会使Hello出现在另一个终端窗口中。如果没有,请使用tty命令检查终端正在使用的设备。
如果您的程序记录到stderr,您也可以将其重定向:
program >/dev/pts/1 2>&1 # send stderr to the same place as stdouthttps://stackoverflow.com/questions/15701274
复制相似问题