複数のコマンドを記述する
Vimで「root.sh」というファイル名を作成、以下を記述。 [bash]
!/bin/bash
echo "root" cd / ls -l [/bash] 「root」を表示し、「cd」でルートディレクトリに移動し、「ls」でファイル一覧を表示させる。 「:wq」で保存して閉じる。
実行権限を付与。 [bash] $ chmod +x root.sh [/bash]
実行する。 [bash] $ root.sh [/bash]
以下のように表示される。 [bash] root 合計 32 lrwxrwxrwx. 1 root root 7 5月 19 21:23 bin -> usr/bin dr-xr-xr-x. 4 root root 4096 7月 12 15:39 boot drwxr-xr-x 20 root root 3240 7月 12 15:39 dev drwxr-xr-x. 83 root root 8192 7月 12 15:39 etc drwxr-xr-x. 4 root root 45 6月 23 07:16 home (以下略) [/bash]
複数のコマンドをまとめて記述する
複数のコマンドを「;」で区切ることで1行にすることも可能。 「root.sh」を以下のように編集。 [bash]
!/bin/bash
echo "root";cd /;ls -l [/bash]
コマンドを複数行に分ける
行末に「\」を記述することで次の行と連結される。 「root.sh」の一部を以下のように記述することもできる。 [bash]
!/bin/bash
echo \ "root" cd / ls -l [/bash] 実行すると上記と同様の結果となる。
コマンドラインが長くなってしまった際に、この機能を利用することで可読性が上がる。
コメントの書き方
行頭に「#」を記述すると、その行はコメントとなる。 以下のようにコメントを残すことができる。 [bash]
!/bin/bash
echo \ "root"
ルートディレクトリに移動
cd /
ファイル一覧を表示
ls -l [/bash]
変数
シェル変数では、「変数名=値」の形式で変数に値を指定することができる。 変数の値を参照するには、変数名の前に「$」をつけることでシェルスクリプト内で変数が値に置き換えられて、実行される。
Vimで「var.sh」というファイル名を作成、以下を記述。 [bash]
!/bin/bash
message=hello! echo $message [/bash]
実行すると以下のように表示される。 [bash] $ var.sh [/bash]
変数の書き方の注意点
「=」の前後にスペースは不要
ダメな例 [bash] message = hello! [/bash]
代入する際には「$」は不要
ダメな例 [bash] $message=hello! [/bash]
変数名に利用できる文字はアルファベット、数値、アンダースコアのみ
ダメな例 [bash] message-test = hello! [/bash]
変数名の区切りを明らかにする
ダメな例 [bash]
!/bin/bash
message=hello! echo $messageeveryone [/bash]
これは$messageeveryoneが変数だと解釈され、変数が存在しないということになる。 変数名を「{}」で囲み、変数と明示することで解決できる。 [bash]
!/bin/bash
message=hello! echo ${message}everyone [/bash]