[英]How this ksh code is working?
echo "Hello" > $XYZ
echo ${?}
如果我将这两行复制粘贴到任何.sh文件中,则脚本可以正常工作而不会出现任何问题。 第二行中的${?}
返回0。 $XYZ
可以用任何随机字符串替换。 该变量不需要定义或初始化。
但是,相同的代码对某些用户不起作用。 第一行抛出错误“ scriptname.sh[425]: : cannot open
”。
第二行中的${?}
返回1。
是否知道为什么同一段代码为不同的用户提供不同的结果?
注意:我们在服务器“ IBM / AIX RISC System / 6000”中面临此问题。
变量XYZ需要容纳一个非空字符串,以便外壳程序能够解析重定向。 如果您希望将其默认设置为根本不返回任何结果,则可以将其初始化为/dev/null
(这是我想象的,您可能期望重定向到任何内容都无法完成;但事实并非如此)。
确保以正确的形式编写XYZ的赋值语句。 例如:
XYZ="fileName"
echo "Hello" > $XYZ
...
XYZ =“ fileName”没有空格。.我不知道,但这是我想到的唯一问题
我会想象AIX中的不同用户无法访问该日志文件($ XYZ),请尝试将755设置为日志文件目录,并确保您的文件具有足够的权限被其他人执行(再次执行755)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.