ひとり勉強ログ

ITエンジニアの勉強したことメモ

#02 行・コメント・変数

複数のコマンドを記述する

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] hello! [/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]