1. Hello Shell Script

まずはじめは「Hello Shell Script」です。おなじみですね。

1.1. スクリプトの作成

早速ですがスクリプトを作成します。エディタで下記のテキストファイルを作成してみてください。

HelloShellScript
#!/usr/bin/env bash
echo “Hello Shell Script.”
  1. 行目 シバン(shebang)と呼ばれる行。後で触れる予定。

  2. 行目 echoコマンドで文字列を出力。

これだけでスクリプトが完成です。

1.2. スクリプトファイルに実行権限を付与する

スクリプトを実行できるようにするため実行権限を付与します。

Terminal
chmod +x HelloShellScript

これで実行権限を付与できました。

1.3. 実行する

いよいよ実行です。

Terminal
./HelloShellScript

文字列が出力できました。

これでHelloShellScriptは完了。

2. shebang:シバン

shebangはスクリプトの一行目に書く下記のような#から始まります。

Example
#!/usr/bin/env bash

shebangは実行するインタープリタを指定するもので上記の例ではbashをしています。

shebangの書き方にはいくつかの選択肢があり、どの書き方が一番良いのか悩みます。

私が調べた上でおすすめの書き方を提案します。

2.1. shebangの書き方の選択肢

shebangの書き方の選択肢が多い。

選択肢
  1. #!/usr/bin/env bash

  2. #!/bin/bash

  3. #!/bin/sh

  4. #!/bin/sh -

この記事ではbash使用を前提としています。

上記の中でおすすめの選択肢は1.です。

2.2. おすすめの書き方についての情報源

下記が情報源です。

2.3. /usr/bin/envて何?

envコマンドの効果で、PATH環境変数の通っている場所から、bashインタープリタを探索します。

2.4. おすすめする理由

環境によってbashなどのインタープリタの配置場所が異なることがあります。shebangのパスを絶対パスで指定していても、ある環境では指定したパスにbashがない場合があります。

おすすめの書き方ならパスが通っているbashを使用して実行してくれるので移植性が高まります。

bashを指定するのならこのshebangの書き方をおまじないのようにとりあえず書いておきましょう。