Bash

我可以在 FreeBSD 中執行 Bash 腳本而不修改它們嗎?

  • August 17, 2017

如果我錯了糾正我:

  • “sh”腳本!=“bash”腳本
  • Linux 腳本是用 Bash 編寫的
  • Bash 腳本通常#!/bin/sh
  • 在 GNU/Linux 中,/bin/sh是 Bash
  • 在 FreeBSD 中,/bin/sh不是 bash,而是真正的sh

因此,如果我想在 FreeBSD 中使用 Linux 腳本,並且./script.sh在 shell 中執行,它將在“sh”而不是 Bash 中執行 Bash 腳本,因為/bin/sh在 FreeBSD 中不是 Bash。

有沒有一種方法可以執行那些 Bash 腳本,而無需修改它?所以沒有修改#!/bin/sh腳本文件中的語句以指向其他地方?

如果可能的話,我想通過 Zsh 執行 Bash 腳本。不想安裝 Bash,因為 Zsh 可以執行 Bash 腳本……

您可以使用腳本作為參數呼叫您最喜歡的 shell。

bash ./script.sh

我自己執行 FreeBSD。我發現使用以下內容啟動腳本大大提高了跨作業系統兼容性:

#!/usr/bin/env bash

引用自:https://unix.stackexchange.com/questions/44785