2012-05-02 12 views
1

私はスクリプト作成が初めてで、スクリプト内で次のような表現が見つかりました。このスクリプトは何を意味しますか

if [ -d $_path ];then 

-d $ _pathはif文の中で何を意味するのか誰かが助けてくれますか?

ご協力いただきありがとうございます。 man testから

+1

注:例として

。これはコマンドインタープリタで、1998年頃からWindows用です。そして、bashはDOSではありません。 DOSは16ビットOS、afaik、シェルではありませんでした。 Windowsはデスクトップのアイコン "DOSプロンプト"と呼ばれ、シェルを起動しました。ほとんどの場合、インターフェイスからのcmd.32と互換性がありますが、Bashとの互換性はありません。 –

答えて

3

-d FILE 
    FILE exists and is a directory 
+0

'man'はあまりDOSyと聞こえません。 –

+1

質問の例ではテストブラケットも "bash"タグでもありません。 :-) –

+0

ああ、私はそれらを言及しなかった。 :) 恩赦。 –

2

それは_pathがディレクトリであるかどうかのためのテストです。

注意bashとDOSは全く異なる2つの事柄です。

1

_pathの値がディレクトリであるかどうかを確認します。 _pathは変数で、$はget-value-of operation(sort of)です。 $_pathという名前のフォルダを探していません。 cmd.exeのがDOSではありません

> mkdir dir 
> touch file 
> ls 
dir/ file 
> _path=dir # set the variable `_path` 
> if [ -d $_path ]; then echo yes; else echo no; fi 
yes 
> _path=file 
> if [ -d $_path ]; then echo yes; else echo no; fi 
no 
関連する問題