ksh:声明变量时出现零除数错误

时间:2014-04-22 10:15:35

标签: ksh

更新:这真的很奇怪。我进一步观察,并意识到服务器中有两个*ksh包:

pdksh-5.2.14-37.el5_8.1.x86_64
mksh-39-7.el6_4.1.x86_64

mksh设置在/etc/alternatives

lrwxrwxrwx 1 root root 9 Apr 23 10:39 /etc/alternatives/ksh -> /bin/mksh

我把它指向/bin/pdksh,再次尝试了脚本,并且它有效。

要复制该问题,我将其更改回/bin/mksh,但这一次,脚本正常运行。简而言之,我再也无法复制这个问题了。怪异。

我正在寻找更远。感谢。


鉴于这个Korn shell脚本:

#!/bin/ksh

U=$1

$1作为ABC/S0METHING传递,我该如何解决此错误?

ksh: ABC/S0METHING zero divisor.

ksh版本:

@(#)MIRBSD KSH R39 2009/08/01

感谢。

1 个答案:

答案 0 :(得分:0)

这很奇怪,但如果你要求解决方法,可以

U=`printf '%q' $1`

但是,据我所知,我无法在我的系统上复制问题... 因此,如果这不起作用,我将删除答案。