Bash スクリプト - echo が実行されないのはなぜですか?

Bash スクリプト - echo が実行されないのはなぜですか?

bash スクリプトを作成してみました。

vi hello_world

私が書いたスクリプトの中には

#!/bin/bash
text="Hello World"
echo $text

入力すると

echo $hello_world

スクリプトを実行すると「Hello World」が出力されるのではないですか? それとも構文に何か間違いがあるのでしょうか?

答え1

スクリプトを呼び出すときに間違った構文を使用しています。

echo $hello_world

変数の内容を出力しますhello_world

シェル スクリプトを実行するには、スクリプトへのパスを入力する必要がありますhello_world

./hello_world

これはhello_world、現在の作業ディレクトリ内にある場合に実行されます。

スクリプトを直接実行するには (つまり を使用./script)、それを実行可能にする必要があります。これは次のように実行できます。

chmod +x ./hello_world

または、ファイル マネージャーのファイル プロパティ ダイアログを使用します。

答え2

スクリプトが現在の作業ディレクトリにあると仮定すると、スクリプトを実行するには以下を実行する必要があります。

./hello_world

スクリプトに実行権限がない場合は、次のように実行できます。chmod +x hello_world

答え3

場所がbash違うのかもしれません。

代わりにブートストラップを使うこともできます

#!/usr/bin/env bash
text="Hello World"
echo $text

編集: 非常に明白だったので、スクリプトを実行するための間違った構文に気づきませんでした。次を試してください:

./hello_world

関連情報