基于OS的shebang

问题描述 投票:1回答:2

[我有很多用Solaris编写的脚本,这些脚本使用像这样的shebang:

/usr/bin/sh
/usr/bin/ksh  

我正在将代码移植到Linux,在/bin中放置了解释器。

是否有任何方法可以修改shebang,以使脚本在SolarisLinux中均可使用>

我希望我们不能像下面那样对shebang进行操作系统检查:

if [ $os == "Linux" ]
then
    #!/bin/sh
else
    #!/usr/bin/sh
fi  

在Linux中像下面这样添加链接是否很好:

/usr/bin/sh --> /bin/sh

我有很多用Solaris编写的脚本,这些脚本使用如下所示的shebang:/ usr / bin / sh / usr / bin / ksh我正在将代码移植到Linux,并且在/ bin中放置了解释器。有什么办法...

shell operating-system porting
2个回答
0
投票

您无法以您想要的方式进行选择性shell,即if-then构造不适用于first


0
投票

在Solaris中,/bin链接到/usr/bin。因此,shebang可以更改为/bin/ksh以在两个OS中都可以工作

© www.soinside.com 2019 - 2024. All rights reserved.