我有以下代码来测试目录存在:
PROJECT="somedir"
if [ -d ~/migrations/$PROJECT ] ; then
echo "Test"
fi
dst_dir="~/migrations/$PROJECT"
if [ -d "$dst_dir" ] ; then
echo "Test 2"
fi
由于某种原因,它仅输出 test 。我希望它同时输出 test 和测试2 。
我不想念外壳,我想念什么?我觉得这与~
有关。
,因为tilde ~
需要在户外行情。
尝试:
dst_dir=~/migrations/$PROJECT
~
引用时不会扩展。
测试:
s="~"
ls "$s"
ls: ~: No such file or directory
s=~
ls "$s"
# list comes here