初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます.

ShellScript コマンドのグループ化・サブシェル

複数のコマンドを実行した出力をまとめて、1つのファイルに
リダイレクトする方法を記述します。

コマンドのグループ化

{}カールブラケットを使用

{
	date +%Y-%m-%d
	echo  ‘Documents List’
	ls ~/Documents
} > DirectoryList.txt

サブシェルによるコマンドのグループ化

()ブラケットを使用
ブラケット内は現在のシェルから子プロセスとして
新しいシェルプロセスが起動されその中で実行されます。
なのでブラケットの外側の親のシェルプロセスに影響を与えません。
ブラケット内でcdコマンドでディレクトリを移動するなど環境を変更しても
サブシェルから抜けると環境が親のシェルプロセス(元のディレクトリ)に戻ります。

cd ~/Pictures
( #ブラケット内はサブシェル適応
	echo ’Sub Shel’
	pwd

	echo ’cd  in Sub Shell’
	cd ~/Documents
	pwd
) 
#親のシャルプロセスに戻る
pwd


#実行結果
# ’Sub Shel’
# /Users/ユーザー名/Pictures
#’cd in Sub Shell’
#/Users/ユーザー名/Documents
#/Users/ユーザー名/Pictures