echo "Hello" > $XYZ
echo ${?}
如果我将这两行复制粘贴到任何 .sh 文件中,脚本都可以正常工作,没有任何问题。第二行中的 ${?}
返回 0。$XYZ
可以替换为任意随机字符串。该变量不需要定义或初始化。
但是,相同的代码对某些用户不起作用。第一行抛出错误“scriptname.sh[425]: : 无法打开
”。
${?}
返回 1。
知道为什么同一段代码对不同的用户给出不同的结果吗?
注意:我们在服务器“IBM/AIX RISC System/6000”
中遇到此问题最佳答案
变量 XYZ 需要保存一个非空字符串,以便 shell 能够解析重定向。如果您希望它默认为根本没有结果,则可以将其初始化为 /dev/null
(我想您可能希望重定向到没有任何结果;但事实并非如此)。
关于linux - 这个 ksh 代码是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996513/