繁体   English   中英

如何在不修改FreeBSD,OpenBSD和Linux的情况下获取bash脚本?

[英]How do I get a bash script working on FreeBSD, OpenBSD and Linux without modifying it?

对不起,标题可能有点刺激,但我不知道更好。 无论如何,我想要一个bash脚本可以在FreeBSD,OpenBSD和Linux上运行而无需修改它,但是bash并不位于Linux和BSD的同一个地方。

所以,如果我写#!/bin/bash然后它将无法在BSD上运行,因为bash shell位于/usr/local/bin/bash中。 是否有任何解决方案可以让这个脚本同时工作?

或者我真的需要发送两个不同路径的脚本......?

在shebang中使用env#!/usr/bin/env bash )应该使脚本OS不可知。

我喜欢使用#!/usr/bin/env bash答案这是一个有趣且优秀的答案,但只有当bash在路径中时才会有效。

另一种选择可能是使用#!/bin/sh ,它是最普遍兼容的shell位置。 然后,让脚本在sh执行某些操作,例如检查bash的安装位置(如果安装了bash )。 另一个选择可能是两个位置都存在bash 进行另一次安装可能听起来有点过分,但这个目标可以像创建硬链接一样完成,以便bash实际存在于两个位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM