/bin/env :錯誤的解釋器

/bin/env :錯誤的解釋器

我使用的是 Linux Mint 19.03。

我有一個安裝 shell 腳本文件,setup.sh.當我跑步時./setup.sh

muyustan@mint:~/Downloads/quartusExtracted$ ./setup.sh 
bash: ./setup.sh: /bin/env: bad interpreter: No such file or directory

中的shebang setup.sh

#!/bin/env bash

我對這些事情的理解非常狹窄,因為我對 Linux 世界還很陌生。

我知道,使用/bin/env bash而不是給出確切的bash路徑就像“在環境變數中搜尋並嘗試尋找bash”。當我查看/bin目錄時env,我發現沒有這樣的檔案:

muyustan@mint:/usr/bin$ ll /bin | grep "env"
lrwxrwxrwx  1 root root       6 Mar 21 14:35 open -> openvt*
-rwxr-xr-x  1 root root   18872 Jan 22  2018 openvt*

也,

muyustan@mint:~/Downloads/quartusExtracted$ which bash
/bin/bash

setup.sh所以,我認為改變to中的 shebang#! /bin/bash可以解決問題(我沒有嘗試過),但是,這看起來不太直觀,因為如果是這樣,那麼我問自己,

「這個應用程式(Quartus 13.1)的開發人員犯了一個錯誤嗎?”,這讓我認為我的系統出了問題。

那麼,問題來了,為什麼會出現這樣的情況呢?

謝謝。

答案1

您的系統沒有任何問題,您只是使用了錯誤的路徑env。至少在 Linux 系統上,env二進位檔案通常位於/usr/bin而不是/bin

$ type env
env is /usr/bin/env

因此,您的腳本告訴您的系統使用/bin/env不存在的 ,這就是您收到該錯誤的原因。只需更改為正確的 shebang 就可以了:

#!/usr/bin/env bash

相關內容