4. シェルプログラミング(1)  

シェル変数やエイリアスを適切に設定することで さまざまな環境設定が可能であることを 3. で学んだ. しかしながら, それでもなお十分でないと感じるユーザーも少なくないであろう. ここではそういったカスタマイズの延長でもある シェルプログラミングについて見ていく.
 
<-- 「3. 環境のカスタマイズ」へ戻る 目次へ戻る 「5.シェルプログラミング(2)」へ進む -->


4.1 シェルスクリプトと関数

4.2 シェル変数

4.3 文字列演算子

4.4 コマンド置換


4.1 シェルスクリプトと関数 4.2 シェル変数 4.3 文字列演算子

4.4 コマンド置換

これはコマンドの標準出力を変数の値として利用する機能を意味している.
 Bourne シェルや   C シェルではバッククォートでコマンドを囲むことにより, このコマンド置換を実現していた. 例えば,
file=`ls`
echo  "======= $PWD ======="
echo $file
というスクリプトを実行すると
======= /home/hogehoge ======
aaa.c   bbb.cc   ccc.o   ddd.h  eee   fff.java
といった具合に普通に ls コマンドを実行したのと変わらない.
ただし,バッククォートで囲む方法では,入れ子にすることができない. そのため,bash では
$(コマンド)
という書式をとっている.(互換性のため,バッククォートも使える.)
つまり,上の例は
file=$(ls)
echo "======= $PWD ======="
echo $file
として書ける. また,入れ子にするときは,
file=$(ls  $(pwd))
echo  $file
のように書く.