私はLinux Mint 19.03を使用しています。
インストールシェルスクリプトファイルがあります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
だから私はtheで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