在我们将数百个 ksh 脚本从 AIX、Solaris 和 HPUX 移植到 Linux 的过程中,我发现了另一个问题。请参阅此处了解上一个问题。
这段代码:
#!/bin/ksh
if [ -a k* ]; then
echo "Oh yeah!"
else
echo "No way!"
fi
exit 0
(当在包含多个名称以 k 开头的文件的目录中运行时)会产生“哦,是的!” 当使用 AT&T ksh 变体(ksh88 和 ksh93)调用时。另一方面,它会产生错误消息,然后是“没办法!” 在其他 ksh 变体(pdksh、MKS ksh 和 bash)上。
同样,我的问题是:
- 是否有环境变量会导致 pdksh 表现得像 ksh93?做不到这一点:
- pdksh 上是否有获得所需行为的选项?