【发布时间】:2014-02-23 17:32:50
【问题描述】:
以下命令对某些用户抛出错误。任何人都可以解释为什么错误只发生在某些用户身上。 $EMPTY_STRING 对于所有用户都是空的。
回显 $OUTPUT > $EMPTY_STRING
【问题讨论】:
以下命令对某些用户抛出错误。任何人都可以解释为什么错误只发生在某些用户身上。 $EMPTY_STRING 对于所有用户都是空的。
回显 $OUTPUT > $EMPTY_STRING
【问题讨论】:
当我在我的 bash 终端中运行它时:
$ echo aaa > ''
bash: : No such file or directory
所以我猜 /dev/bin/load.sh[425] 只是指您正在运行的脚本。我怀疑$EMPTY_STRING 是空的,因为在这种情况下错误会有所不同(如果你在 bash 中):
$ a=''
$ echo aaa> $a
bash: $a: ambiguous redirect
您可以尝试比较他们的env 并确保这些用户使用相同的shell。
【讨论】:
朱塔尔,
你是对的,/dev/bin/load.sh 是包含我提到的代码行的脚本。脚本中的实际代码是“echo $OUTPUT > $TMPFILE”。
但是,变量 $TMPFILE 没有在操作系统的任何地方定义。我在上面提到的代码行之前打印了日志文件中的值,它是空的。
必须为某些用户启用某些 Linux 设置,并且当 STDOUT 重定向到未定义的变量时,编译器不会抛出任何错误。
我知道下面的代码不会抛出任何错误。
回显 $OUTPUT > /dev/null
是否有任何 Linux 设置可以将所有未定义的变量视为“/dev/null”?
【讨论】: