シェルスクリプトでの変数置換について困惑しています。これが取り引きです:私は次のスクリプトを持っています。
if [ -d ~someone/Desktop ]
then
echo exist
fi
ユーザー「誰か」がホームディレクトリの下に「デスクトップ」ディレクトリを持っているかどうかを判断します。ただし、誰かを他の変数に置き換えると、正しくなくなります。下記参照、
var=someone
if [ -d ~${var}/Desktop ]
then
echo exist
fi
ユーザー「someone」はデスクトップディレクトリを持っていますが、出力には存在しません。なぜこれが起こったのか誰か教えてもらえますか?