shellの書き方 HelloWorldを出力するshellスクリプトを書いてみた

初めてshellスクリプトを書いてみました。実行するとHellWorldとコンソール出力するshellスクリプトです。

ファイルの作成

まずはファイルの作成です。 .sh と拡張子がつくとLinuxがshellスクリプトとして認識してくれます。ここでは名前をtest.shとしてshellスクリプトを作成してみます。場所は任意の場所でいいのですが、ここでは/tmpに作成することにします。

cd /tmp
vi test.sh

shellスクリプト実装

test.shの中身を記述していきます。

#!/usr/bin/bash
echo HelloWorld

shellスクリプトの実行

shellスクリプトが作成できましたので、実行してみます。実行するときにはshellスクリプトの前に./を付けます。

./test.sh

-bash: ./test.sh: /usr/bin/bash^M: bad interpreter: No such file or directory

実行してみましたがHelloWorldは出力されません。おかしいですね、そのようなファイルやディレクトリは無いとログが出力されてechoが実行されていないようです。

なぜでしょうか。ググってみると同様の事象がよくあるようです。改行がおかしいとこういう事象がおきるらしく、Windows環境からコピー&ペーストしてソースコードを持ってくると改行がおかしくなることが多いようです。

詳細はこちらへどうぞ。

WindowsとLINUX(UNIX系)では改行コードが違います。 Windowsでは CRLF で、UNIX系全般では LF...

改行コードを正規表現を用いて直します。

sed -i 's/\r//' ./test.sh

再度実行してみます。

./test.sh

HelloWorld

出来ました。

Let's share SNS