KornShell(ksh)重定向

时间:2010-12-28 18:34:18

标签: linux shell unix ksh

我有一个脚本,它将std out / std err重定向到如下:

SCRIPTS=/test/scripts
LOG=/test/log
echo $SCRIPTS
echo $LOG
$SCRIPTS/dmm_algo_ofac_daily_sched.ksh >> $LOG/test12.log 2>&1

此脚本无法展开$SCRIPTS$LOG

如果我将其替换如下:

/test/scripts/daily_sched.ksh >> /test/log/test12.log 2>&1

抱怨如下:

: bad file unit numberd/test.ksh: line 33: 1

此外,我无法从保存它的目录中调用脚本。如果我做

./test.ksh它错误地说找不到文件。我可以通过ksh /test/sched/test.ksh执行它。

有人可以帮我这些吗?提前谢谢。

3 个答案:

答案 0 :(得分:4)

我几乎可以肯定问题是因为DOS / Windows行结尾

您收到的错误消息是因为回车而覆盖自己。您可以使用dos2unix修复文件。

答案 1 :(得分:1)

将魔术#!/bin/ksh添加到第一行以直接调用,而无需在命令行上命名解释器。

答案 2 :(得分:0)

我会疯狂地推测你的根本原因与重定向无关。

您展示的脚本是/test/sched/test.ksh还是/test/scripts/test.ksh?你确定吗?