在AIX中,当我编写这样的脚本(* test.sch *)时:
#!/bin/ksh
echo "testing" 2>./r1.log 1>./r2.log
exit 0
字符串
如果我执行:
sh -x test.sch
型
答案是:
cat r1.log
1> ./r2.log
cat r2.log
testing
型
为什么 r1.log 出现在命令中?
但是如果我改变shell中的顺序:
#!/bin/ksh
echo "testing" 1>./r2.log 2>./r1.log
exit 0
型
文件 r1.log 为空:
cat r1.log
cat r2.log
型
输出量:
testing
型
这段代码在另一台服务器上可以正常工作。我必须修改什么配置才能使它工作?
摘要
我不能省略-x
标志,因为我使用Ctrl + M(这里使用-x
)。但我意识到错误发生在不同的AIX服务器上。我想除了改变输出顺序之外,没有解决方案。
1条答案
按热度按时间pobjuy321#
set -x
(或相应的sh -x
,“xtrace”的缩写)切换到调试模式。调试模式打印出每一行执行到标准错误。从the AIX man page ofKornShell(可执行ksh
):字符串
这就是为什么你在日志文件中看到一些捕获标准错误的东西。