可以编写一个shebang来测试指定路径是否存在shell/执行环境?

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

在shell脚本中,有没有办法构造shebang,以便它测试指定的shell或执行环境是否存在,如果不存在,则测试另一个,最后选择存在的一个?

或者,您可以在脚本顶部列出多个 shebang,如果第一个失败,它会尝试下一个,依此类推,直到找到存在的 shebang?比如:

#!/bin/bash --
#!/usr/local/bin/bash --
#!/usr/bin/env bash
#!/bin/sh --
bash shell scripting sh
1个回答
0
投票

可以编写一个 shebang 来测试指定路径是否存在 shell/执行环境?

当然。下面的shebang测试bash是否存在,如果存在则运行它,否则运行sh。

#!/usr/bin/env -S sh -c 'if hash bash 2>/dev/null;然后bash“$@”;否则 sh "$@";菲'嘘

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