0

ディレクトリがbashスクリプトに存在するかどうかを知るために、簡単なテストを行います。
ディレクトリ パスは変数です。
私のテストはファイルのパスで機​​能しますが、変数では機能しません。

 # if [ -d $test ]; then echo ok; fi 
 # >> ### NO OUTPUT ###
 # if [ -d ~/dir/ ]; then echo ok; fi 
 # >> ok
 # echo $test
 # >> ~/dir/

変数 mysef を次のように定義します。

 # test="~/dir/"

同じパスが含まれているのに、変数で機能しない理由がわかりません。

ありがとう

4

2 に答える 2

1

変数にはチルダ( )が含まれているため、テストは機能しません~

を使用できますevalが、推奨されるアプローチは、変数の${HOME}代わりに使用することです。~試す:

test="${HOME}/dir"
[[ -d $test ]] && echo ok
于 2013-07-25T11:20:32.633 に答える
0

に変更# test="~/dir/"するtest=~/dir/と、準備完了です。

于 2013-07-25T11:01:04.117 に答える