[英]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.