- PR -

Xの使いかたについて

1
投稿者投稿内容
江戸の子
常連さん
会議室デビュー日: 2005/09/05
投稿数: 23
お住まい・勤務地: 静岡
投稿日時: 2006-09-27 17:08
こんにちは。
先輩が書いたシェルは以下の文句あります:
if[X$4!=X -a -f "$4"]
......
$4はファイルネームそうです。この判断式はどういう意味ですか?"X"の意味は?
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2006-09-28 11:33
こんにちは

おそらく $4が空白かチェックしているのでは?
多分 -f "$4" だけで事足りていると思うんだけど...

[ $4 != "" ] とかいた場合に $4が空白だとエラーになるからなんでは?
[ "$4" != "" ] と書けばいいのに....
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2006-09-29 10:18
引用:

江戸の子さんの書き込み (2006-09-27 17:08) より:
こんにちは。
先輩が書いたシェルは以下の文句あります:
if[X$4!=X -a -f "$4"]
......
$4はファイルネームそうです。この判断式はどういう意味ですか?"X"の意味は?



習慣なのかどうかはよくわかりませんが、変数の値が空かどうかを確認するために

[ "x$arg" != x ]

といった表現を使われることが多いようですね。
ただし、引数に空白が含まれないことが保証されていない限り、x$4 は x"$4" としておかないといけないですね。というか、未記入さんがご指摘されているように、このスクリプトではそもそも変数の値が空白かどうかをチェックする必要さえなさそうですが。
1

スキルアップ/キャリアアップ(JOB@IT)