Parameters ksh:参数未设置问题。很奇怪
我在运行ksh时遇到了一个非常奇怪的问题,让我发疯 红帽 ksh:ksh--版本 sh版本(AT&T研究)93t+2010-06-21Parameters ksh:参数未设置问题。很奇怪,parameters,ksh,Parameters,Ksh,我在运行ksh时遇到了一个非常奇怪的问题,让我发疯 红帽 ksh:ksh--版本 sh版本(AT&T研究)93t+2010-06-21 #!/bin/ksh -eu echo "hello" echo "main_class: $abc" 我得到了这个错误: hello ./aaa: line 3: abc./aaa: line 3: : parameter not set 而如果更改为以下,则看起来像是正常的“未设置参数”错误: 错误消息: hello ./aaa: line 3: ac:
#!/bin/ksh -eu
echo "hello"
echo "main_class: $abc"
我得到了这个错误:
hello
./aaa: line 3: abc./aaa: line 3: : parameter not set
而如果更改为以下,则看起来像是正常的“未设置参数”错误:
错误消息:
hello
./aaa: line 3: ac: parameter not set
你能解释一下吗 不管怎样,关于错误的特征,我看到您试图回显字符串和变量,但我没有看到变量声明。。。。。。顺便说一句,我也在ksh上运行了你的代码(两种方式),它不会打印出错误,只会打印出所有内容,但变量为null且未设置
hello main_class:
@hedgehog,您是否在脚本的第一行添加了“#!/bin/ksh-eu”?至少,您应该看到“参数未设置”错误。没有声明这些变量的原因是出于目的,整个过程有点复杂,但主要的一点正如我在线程中所说的。是的,我确实添加了它,并且在ksh中运行时根本不会产生任何错误,只是如果变量应该是空的。。顺便说一句,我在solaris系统的ksh中运行了它。奇怪的是,它没有产生错误……我猜原始脚本在第3行中有一些非打印字符。在将ac
编辑回abc
后,您是否能够再现错误?
hello
./aaa: line 3: ac: parameter not set