答案1
特别是对于 Solaris,最大的问题是确保/usr/xpg4/bin
您的.中的实用程序向后兼容 POSIX 之前的时代。中的实用程序与 Single Unix (/usr/xpg6/bin
/usr/bin
PATH
/usr/bin
/usr/xpg4*
v2和v3分别)。 IIRC 有一些 shell 内置函数也会根据情况改变它们的行为PATH
。
如果您的脚本使用 bash 结构,则必须将它们调整为在 ksh 下运行。 Bash 和 ksh 有一个很大的公共子集,其中包含 POSIX 中没有的许多有用功能(数组、扩展 glob 模式、[[ … ]]
... <(…)
)。您也可以在 Linux 上运行 ksh;大多数发行版都将其作为可选包,您可以下载源代码来自官方网站,或从更多可用的地方。
LFS 站点有安装说明。
答案2
在网络上搜索“sun application porting Assistant 1.0 Final Release”。我相信它仍然可以从 Oracle 网站下载:
它是一个静态源代码分析和代码扫描工具,可用于识别Linux和Solaris平台之间不兼容的API。 Sun Application Porting Assistant 强大的 C/C++ 和 shell 脚本解析器能够以合理的精度检查这些源文件,并生成可用于移植应用程序的报告。 Sun APA 与易于使用的 GUI 和简单的命令行界面一起,旨在简化并加快估计和移植时间。
答案3
这Unix 版罗塞塔石碑网站有一个表格,显示了许多不同 *nix 风格的常用命令的等效项,但更关注用户和管理员而不是 shell 脚本编写者。
答案4
无需猜测哪些可行、哪些不行,只需在工作站上安装 Solaris 并对其进行测试即可。 (显然您需要一个虚拟机管理程序来执行此操作 - 推荐 VirtualBox,因为您可以下载 Solaris 的预构建映像以与 VirtualBox 一起使用)。不会花费您一分钱,安装大约需要 30 分钟。其中大部分是下载时间。