![Bash スクリプト - echo が実行されないのはなぜですか?](https://rvso.com/image/109217/Bash%20%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%20-%20echo%20%E3%81%8C%E5%AE%9F%E8%A1%8C%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
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