簡體   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