在ubuntu内核上编写的shell脚本是否也能在RHEL上运行

时间:2016-10-12 09:32:16

标签: unix

我想知道如果在ubuntu内核上创建并测试了一个shell脚本,那么它总是会在RHEL内核上运行,只要调用正确的shell来运行脚本。

2 个答案:

答案 0 :(得分:1)

在不同的发行版和不同的内核上使用时,执行可能会有所不同的方式:

  • Linux内核的版本和配置的差异 - 这可能会影响文件内容的存在和格式,例如/proc/sys中的文件内容或特定设备驱动程序的存在。< / LI>
  • 所使用的shell版本的差异 - /bin/sh可能是一个系统上的Bash和另一个系统上的Dash,或者一个系统上的Bash 3.x和另一个系统上的Bash 4.x.
  • 您的脚本调用的已安装程序的差异(如果您的程序包依赖项出错,那么这些程序是否存在 - 一个分发中的“必要”在另一个分发上可能是“可选的”)。

简而言之,不同的发行版与一个发行版的不同版本具有相同的问题,但更是如此。

答案 1 :(得分:0)

这取决于它为其编写的shell /解释器以及为其编写的特定shell的版本。例如,使用bash-4.4编写的bash脚本可能无法在bash-2.0等中运行。它与您使用的分发/内核版本不太相关,但与您使用的shell无关。

因此,如果没有详细信息,就无法断言在Ubuntu上运行的脚本是否可以在RHEL上运行。如果您使用相同的shell和相同的版本 在两台机器上然后是的,它会按预期工作(除非有一些非常奇怪的情况)。