我想检查目录的存在并编写下面的脚本,但这不能正常工作。
#!/bin/sh
if [ -d "~/sample" ]
then
echo 'exists'
else
echo 'NOT exists'
fi
下面的脚本可以正常工作。
#!/bin/sh
if [ -d "/home/user01/sample" ]
then
echo 'exists'
else
echo 'NOT exists'
fi
if [ -d "~/sample" ]
出了什么问题?
答案 0 :(得分:2)
是的,双引号是不允许〜扩展...以下将起作用:
if [ -d ~"/sample" ]; then
echo "exists"
fi
通常最好使用:
if [ -d "$HOME/sample" ] ; then
echo "exists"
fi
$ HOME通常由Bourne shell设置