<分区>
我们有很多 sh 脚本,我们想将它们升级为 bash 脚本
我的问题:
bash 是否支持任何以前的 sh 脚本?
如果不是,在我们将 sh 转换为 bash 之前需要知道什么? 我的意思是我们需要在 sh 脚本中更改/替换为 bash 脚本
<分区>
我们有很多 sh 脚本,我们想将它们升级为 bash 脚本
我的问题:
bash 是否支持任何以前的 sh 脚本?
如果不是,在我们将 sh 转换为 bash 之前需要知道什么? 我的意思是我们需要在 sh 脚本中更改/替换为 bash 脚本
最佳答案
不幸的是,我只看到了有限数量的将 shell 脚本从遗留 UNIX 平台转换为 bash 的尝试。通常都平安无事。
我记得一个有趣的例子是一个脚本,它对 <<here
使用了不符合 POSIX 规范的扩展行为。执行 goto
的文件,大概是为了简化移植 .bat
来自 MS-DOS 或 Windows 的脚本。 (“标签”以冒号 :
开头。)这在 bash 中不起作用,因为它遵循 POSIX 语义,所以这里的文档不能用于有条件地删除 shell 脚本的部分。
在实践中,更大的问题通常与从 shell 脚本调用的程序有关,它们也可能显示出行为差异。
所以恐怕答案是“视情况而定”并不令人满意。
关于linux + 将 sh 脚本转换为 bash + bash 是否支持以前的 sh 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47067892/