
我使用的是 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