2009年10月22日木曜日

【復習】3.1.5.コマンドの実行

・コマンドは次の書式で実行する。
 書式) コマンド オプション 引数
・コマンドを記号で区切った場合、
 「;」 : 1番目が実行後、正常でもエラーでも、2番目が実行される。
 「&&」 : 最初のコマンドが正常に終了した場合、2番目のコマンドが実行される。
 「||」 : 最初のコマンドがエラーで終了した場合、2番目のコマンドが実行される。

ubuntu@ubuntu-laptop:~$ pwd
/home/ubuntu
ubuntu@ubuntu-laptop:~$ ls
Examples テンプレート ドキュメント 音楽 公開
kekka.log デスクトップ ビデオ 画像
ubuntu@ubuntu-laptop:~$
ubuntu@ubuntu-laptop:~$ pwd;ls   > 「;」で、続けて実行する。
/home/ubuntu
Examples テンプレート ドキュメント 音楽 公開
kekka.log デスクトップ ビデオ 画像
ubuntu@ubuntu-laptop:~$
ubuntu@ubuntu-laptop:~$ pwd&&ls   > 「&&」で、正常終了で実行する。
/home/ubuntu
Examples テンプレート ドキュメント 音楽 公開
kekka.log デスクトップ ビデオ 画像
ubuntu@ubuntu-laptop:~$ pwd||ls   > 「||」で、異常終了で実行する。
/home/ubuntu
ubuntu@ubuntu-laptop:~$    > ↑1番目が正常終了したので、2番目は実行されない。
ubuntu@ubuntu-laptop:~$ pwdd||ls   > 「||」で、わざと1番目をエラーにしてみる。
bash: pwdd: command not found
Examples テンプレート ドキュメント 音楽 公開
kekka.log デスクトップ ビデオ 画像
ubuntu@ubuntu-laptop:~$    > ↑1番目でエラーメッセージ、2番目が実行された。

・複数のコマンドを「ひとまとまり」として扱いたい場合は、「()」でくくる。

ubuntu@ubuntu-laptop:~$ date;pwd;ls > kekka.log    > 「date、pwd、ls」の結果を「kekka.log」に書きたい。
2009年 10月 22日 木曜日 21:42:53 JST
/home/ubuntu
ubuntu@ubuntu-laptop:~$ cat kekka.log    > lsの結果だけ書き込まれた。
Examples
kekka.log
テンプレート
デスクトップ
ドキュメント
ビデオ
音楽
画像
公開
ubuntu@ubuntu-laptop:~$ (date;pwd;ls) > kekka.log   > 「()」でコマンドをくくる。
ubuntu@ubuntu-laptop:~$ cat kekka.log
2009年 10月 22日 木曜日 21:43:12 JST
/home/ubuntu
Examples
kekka.log
テンプレート
デスクトップ
ドキュメント
ビデオ
音楽
画像
公開
ubuntu@ubuntu-laptop:~$    > ↑「()」でくくった「date、pwd、ls」の結果が出力された。

・コマンドを実行すると、シェルは新たなシェルを起動し、そのシェル上でコマンドを実行する。
・現在のシェル内でコマンドが実行されるようにするには、「{}」でくくる。
 (※うまく確認できなかった)

■感想:最後の、「{}」でくくって、そのシェル上でコマンドを実行する動作だけ、確認できなかった。悔しい。時間がかかりそうなので後で調べることにする。

0 件のコメント:

コメントを投稿