任何想法这段代码有什么问题?
CLIENT_BUILD_DIR="~/Desktop/TempDir/"
if [ ! -d $CLIENT_BUILD_DIR ]
then
{
mkdir $CLIENT_BUILD_DIR
}
fi
我收到错误:mkdir: ~/Desktop: 没有这样的文件或目录。
显然目录在那里,如果我用 ~/Desktop/TempDir/ 替换变量,脚本就可以工作
引号防止 ~ 的扩展。
利用:
CLIENT_BUILD_DIR=~/Desktop/TempDir/
if [ ! -d "$CLIENT_BUILD_DIR" ]
then mkdir "$CLIENT_BUILD_DIR"
fi
在变量中使用该~
字符时不会重新解释。
你可以CLIENT_BUILD_DIR="$HOME/Desktop/TempDir/"
改用。
mkdir ${CLIENT_BUILD_DIR}
会做。如果已经存在,则不会创建目录。