REDUX:如何克服Linux上的ksh与AIX / Solaris / HPUX上安装的ksh之间的不兼容?

REDUX:如何克服Linux上的ksh与AIX / Solaris / HPUX上安装的ksh之间的不兼容?

REDUX: How to overcome an incompatibility between the ksh on Linux vs. that installed on AIX/Solaris/HPUX?

在将数百个ksh脚本从AIX,Solaris和HPUX移植到Linux方面,我发现了另一个问题。请参阅此处,以解决先前的问题。

此代码:

1
2
3
4
5
6
7
#!/bin/ksh
if [ -a k* ]; then
    echo"Oh yeah!"
else
    echo"No way!"
fi
exit 0

(在带有多个名称以k开头的多个文件的目录中运行时)在调用时产生"哦,是的!"与AT


我不再在Linux上使用pdksh。自AT


在Bash中,测试-a操作针对单个文件。

我猜在Ksh88中,测试-a操作针对单个文件,但不会抱怨,因为其他测试字是-a的未指定条件。

您想要类似

1
for K in /etc/rc2.d/K* ; do test -a $K && echo heck-yea ; done

的东西。在这方面,我可以说ksh93就像bash一样工作。遗憾的是,我认为代码编写得很差,我的意见,也可能是一个不好的意见,因为问题的根本原因是ksh88内置测试允许草率的代码。


好吧,一年后似乎无法解决我的问题。

我添加这个答案是说我将不得不忍受......


您确实意识到[是/usr/bin/test的别名(通常是符号链接或符号链接),对吗?因此,实际的问题可能是/usr/bin/test

OTOH的不同版本,ksh用内置函数覆盖了它。也许有办法让它不这样做?或者,如果所有平台上的/usr/bin/test兼容,您也可以显式地将别名[别名为/usr/bin/test


推荐阅读

    linux的nc命令安装?

    linux的nc命令安装?,网络,检测,状态,项目,工具,系统,环境,软件,通信,服务,在l

    linux运行脚本命令?

    linux运行脚本命令?,系统,代码,服务,文件,工具,平台,网站,脚本,命令,方法,Lin

    linux命令rz安装包?

    linux命令rz安装包?,数据,服务,系统,命令,工具,密码,文件,服务器,指令,协议,l

    linux脚本命令修改?

    linux脚本命令修改?,密码,系统,文件,资料,工具,软件,基础,地址,标准,命令,lin

    linux的安装软件命令?

    linux的安装软件命令?,软件,系统,名称,发行,官方网站,市场,官网,密码,网站,

    linux脚本命令教学?

    linux脚本命令教学?,标准,数据,系统,脚本,代码,流程,官网,底部,命令,变量,lin

    linux安装dbe命令?

    linux安装dbe命令?,系统,电脑,通用,数据,环境,变动,在线,业务,信息,网站,LINU

    linux命令注释脚本?

    linux命令注释脚本?,代码,工具,名称,工作,脚本,发行,服务,环境,数据,基础,lin

    脚本linux上运行命令?

    脚本linux上运行命令?,工具,代码,时间,密码,系统,环境,名字,位置,第三,下来,t

    linux命令执行安装?

    linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如

    linux系统安装命令集?

    linux系统安装命令集?,系统,软件,工作,工具,在线,信息,数据,官方网站,基础,

    linux修改脚本的命令?

    linux修改脚本的命令?,系统,密码,服务,工作,工具,环境,信息,百度,代码,脚本,

    dd命令安装linux?

    dd命令安装linux?,标准,设备,数据,系统,名称,位置,环境,信息,数字,情况,安卓L

    终端命令行安装linux?

    终端命令行安装linux?,软件,系统,工具,终端,工作,状态,公司,官网,中心,时间,l

    gpg命令安装linux?

    gpg命令安装linux?,系统,环境,软件,管理,在线,最新,密码,不了,信息,命令,为什

    linux运行命令的脚本?

    linux运行命令的脚本?,系统,服务,工具,脚本,意外,技术,分析,文件,方法,命令,s

    linux安装ls命令?

    linux安装ls命令?,系统,工作,信息,命令,地址,目录,工具,基础,管理,传播,linux

    linux脚本命令单引号?

    linux脚本命令单引号?,系统,工作,美元,地址,命令,信息,情况,标准,管理,引号,l

    linux更新安装命令行?

    linux更新安装命令行?,软件,系统,工作,在线,地址,名称,官网,命令,中心,情况,L

    执行linux脚本命令行?

    执行linux脚本命令行?,工具,位置,地方,环境,数据,状态,暂停,增长,系统,基础,