1

私はこのコードを持っています、それはステップの条件として設定されました。コードの「-d」はどういう意味ですか?

if [ -d $FTBASEDIR/$1/$2 ]; then
    ftcmd="lcd $FTBASEDIR"
    ftcmd2="cd $FTROOTDIR"
    ftcmd3="put $1"
fi
4

3 に答える 3

5

つまり、次の引数はディレクトリですか?

bashマンページ(下)からCONDITIONAL EXPRESSIONS

-d file
    True if file exists and is a directory.

これらのホスト全体があり、通常のファイル、文字特殊ファイル、ファイルが書き込み可能かどうかなどを検出できます。

于 2013-03-15T01:51:11.193 に答える
1

http://www.gnu.org/software/bash/manual/bashref.html#Bash-Conditional-Expressionsから:

-d file

ファイルが存在し、ディレクトリである場合はTrue 。

于 2013-03-15T01:52:11.403 に答える
1

[は実際にはコマンド名であり、(ほぼ) コマンドと同等testです。

[との両方testが、多くのシェルの組み込みコマンドとして、また実際の実行可能ファイルとして実装されています。通常は/usr/bin([は通常 へのシンボリック リンクtestです)。(昔は、それらは単なる実行可能ファイルでした。それらをシェルに組み込むことで、テストをより高速に実行できます。)

bash またはtestコマンドのドキュメントで-dは、次の引数がディレクトリであるかどうかをテストすることが説明されています。

(上で「ほぼ」と書きました。違いは[、一致する]引数が必要ですが、そうでtestはないことです。)

于 2013-03-15T01:55:32.017 に答える