bash / source の使い方

シェルスクリプトを実行

書き方

bash スクリプト
./スクリプト(実行権限が必要)
bash -c 'コマンド'

./ で実行するには chmod +x が必要です。

よく使うオプション

オプション意味
-c 'コマンド'文字で渡したコマンドを実行する
-x実行する行を 1 つずつ出す(スクリプトの不具合を探すとき)
-n実行せず、書き方の誤りだけを確かめる

例

$ bash backup.sh

実行の権限が無くても、bash に読ませてスクリプトを動かします。

$ chmod +x backup.sh && ./backup.sh

実行の権限を付けて、./ を付けて動かします。今の場所のファイルは ./ を付けないと見つかりません。

$ bash -x backup.sh

どの行で何が起きているかを出しながら動かします。思いどおりに動かないときに使います。

$ source ~/.bashrc

設定ファイルを今のシェルに読み込みます。書き換えた alias や PATH がすぐ効きます(. ~/.bashrc と同じ)。

よくある間違い・注意

  • bash script.sh は新しいシェルで動くので、中で決めた変数や cd は元のシェルに残りません。残したいときは source で読み込みます。
  • Windows で作ったスクリプトは改行の \r で動かないことがあります(bad interpreter)。sed -i 's/\r$//' で直します。

実際に打って練習する

Linux レベル1 コースの Lv43「呪文を唱える bash」で覚えます(第3章 権限の城(権限とユーザー))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜16 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

Linux コマンド一覧(LinuC レベル1 の範囲)へ戻る