■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

UNIXのお仕事につきそうなのですが…

515 :名無しさん@お腹いっぱい。 :02/09/14 09:22
>>514

1) はおかしくないかい?
比較と shell script は実は関係ないよ。比較をやってるのは test(1) だよ。
man test を見るべし。FreeBSD なんかだと、ちゃんと /bin/[ も存在するしね。

if [ って書き始めるから、[ は括弧だと思われがちだけど、実は、あれは
test(1) ってコマンドなんだよ。

で、test(1) の man を見ればわかると思うけど、= で比較するのは文字列
としての比較で等価という意味。数値としての比較で等価を示すのは -eq。

もっとも、C と違って厳密な型が存在しないから、

if [ "$foo" = 5 ]; then

って書いても

if [ "$foo" -eq 5 ]; then

って書いても同じになるけど。

ってのが俺の解釈なんだけど、どうよ?



掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)