エラーbin / bashでbashファイルを実行しています:不正なインタプリタ:そのようなファイルまたはディレクトリはありません

bashは初めてで、

/Users/me/Study/Linuxのパスにあり、コンテンツはvimによって書き込まれます:

#! bin/bash echo Hello World 

ただし、実行するとエラーが発生します。

-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory 

この問題に関する多くの質問を読みましたが、それでも完全に失われたと感じています。 :(私はあなたの助けにとても感謝します。

コメント

  • #! /bin/bashを試してみてください最初の行
  • @TedWrigley Thx、それは機能しますが、なぜですか?
  • シバン(#!)は実行可能ファイルへのパスを取り、Unix / linuxではパスはで始まる必要がありますスラッシュ。

回答

bashスクリプトの最初の行は次のようになっている必要があります。

#!/bin/bash 

最初の2文字#! shebang 。shebang行は、スクリプトの残りの部分を解釈するために使用する実行可能プログラムをコンピューターに指示します。この場合、「bashスクリプトを作成していますが、同じように簡単に作成できます。 pythonまたはawkのスクリプトであり、スクリプトが記述されている言語に基づいて、使用するインタープリターをシステムに指示する必要があります。

シバン行が#! bin/bash動作しません “はbですインタプリタに有効なパス(通常は絶対パス)を指定していないためです。最初のスラッシュ/を省略すると、シェルは現在の作業ディレクトリでbinを探しますが、見つかりません。

あなたはbashを学び始めたばかりなので、本を読むことをお勧めします。これにより、あまり多くの質問をする必要がなくなります。 キャメロンニューハムによるbashShell、第3版の学習は非常に優れています。

コメント

  • #!の後のスペースは重要ではないことに注意してください-#!/bin/bash#! /bin/bashの両方動作し、#!bin/bashまたは#! bin/bashは、最初にcd /を実行した場合にのみ機能します(したがって、binが見つかります) )。 ウィキペディアのリンクから "後の空白!大丈夫です"

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です