所以我试图在bash shell脚本中进入if语句,但我认为我做错了什么,反正这里是我的示例代码。
#!/bin/bash
read sd
if [ -d "~/tmp/$sd" ]; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi
;;
我是否将其指向正确的目录?我希望用户输入一些将被放入“sd”的内容,如果该子目录存在,那么它会说它确实存在,如果没有,那么它将转到其他地方并说它不存在。
答案 0 :(得分:23)
尝试:
if [ -d ~/tmp/"$sd" ]; then
或:
if [ -d "$HOME/tmp/$sd" ]; then
引号可防止~
扩展到您的主目录。
答案 1 :(得分:4)
试试这个: -
#!/bin/bash
read sd
if [ -d ~/tmp/"$sd" ]; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi