レス
元トピタイトル
Re: 問題ID: 21699 シェルスクリプト(while.sh)の例について
フォーラム
最強WEB問題集LinuC/LPIC Lv1 102
投稿ユーザ(投稿日)
(2018/4/15)本文
-----引用(始)-----
シェルスクリプト(while.sh)の例の記述内
3行目 while [ $NUM -le 3 ];
一番最後の記載に文字があり、
私にはセミコロン(;)に見えるのですが
セミコロン(;)の記載が必要でしょうか。
-----引用(終)-----
えー、ぶっちゃけいうとなくても大丈夫です。
逆に、あっても大丈夫です。
シェルスクリプトと言っても結局bash上で実行されるので、そのままやってみるとわかりやすいです。
私の環境でやってみます。
[code]
$ echo $SHELL
/bin/bash
$ NUM=1
$ while [ $NUM -le 3 ]
> do
> echo $NUM
> let NUM=NUM+1
> done
1
2
3
[/code]
セミコロンなしでも、ちゃんと実行されてますね。じゃあbashにはどう見えてるのかって言うと
[code]
$ history | tail -n 4
501 echo $SHELL
502 NUM=1
503 while [ $NUM -le 3 ]; do echo $NUM; let NUM=NUM+1; done
504 history | tail -n 4
[/code]
改行位置とも異なる場所にセミコロンが入ってますね。これざっくり言えば、bashからみた処理の区切りです。
単独のセミコロンは「そんなコマンドはねぇ!」って怒られるのですが、区切り文字としてのセミコロンはOKなんです。
[code]
$ ;
-bash: syntax error near unexpected token `;'
$ date;
2018年 4月16日 月曜日 10時20分21秒 JST
[/code]
まぁこの実行例や出題にとってセミコロンは重要ではないので、豆知識として覚えとく、ぐらいでよいかと思います。 (^^;
レス一覧
- Re: 問題ID: 21699 シェルスクリプト(while.sh)の例について(2018/4/16)
元トピ
Copyright (c) 2010
Ping-t All rights reserved.