/bin/env : 無効なソルバー

/bin/env : 無効なソルバー

私は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

関連情報