我有一个要求,即solaris上的所有脚本都需要在linux上进行复制粘贴。我需要这样做,记住脚本应该是Linux兼容的。我不知道如何检查这些现有脚本的兼容性。请注意,我没有准备好linux环境,我们正在进行所有类型的数据收集,请帮助。
由于 阿比纳夫
答案 0 :(得分:0)
您无法保证,潜在的差异太大:
*脚本调用特定于Solaris的工具
检查(grep)您的脚本是否有/bin/*
和/usr/bin
的来电
*脚本在Linux上调用具有不同选项的实用程序
大多数时候,Linux实用程序(grep,sed,awk,date)将有更多选项。尝试安装和使用GNU实用程序,或者希望Linux上的基本选项也支持Linux。
* ksh或bash
如果可以,请尝试在Solaris上安装和使用bash。
注意while循环(参见https://stackoverflow.com/a/5061255/3220113)
更新:
我自己的经历:
我已经将很多脚本从Solaris迁移到AIX,这两个脚本都是ksh。我遇到的问题主要是:
当$ var为空时,* if [ -z $var ]
在AIX上失败(使用if [ -z
"$var"]
)
*没有sed -i
选项我编辑了文件
使用vi file <<@
从远程脚本调用时,这不起作用,它缺少正确的$ TERM
* crontab脚本没有查看/ etc / environment(特定于AIX)
* AIX上的家庭酿造时区的DST运行良好
*不同的目录(数据库分发!)
*在启动java脚本之前要设置的其他Java类和类路径
*与邮件服务器的连接工作不同
最近我只与bash
合作。终于解脱了!在几分钟内支持find
的{{1}},mtime
可以跳过几天,date
有漂亮的选项,甚至grep
已经找到了我的工具箱。对于bash,请记住,你永远不会进入while循环
当然,您希望估计您将拥有的工作。当你需要移植自己在过去3年里写的脚本时(所以你明白他们做了什么,而且金额大约是2年的工作 - 你一定也在做其他事情),我的个人猜测是大约4个月的编程和测试