如果目录存在,则使用Unix Bash Shell编程

所以我试图进入一个bash shell脚本中的if语句,但我认为我做错了什么,反正这里是我的示例代码。

#!/bin/bash read sd if [ -d "~/tmp/$sd" ]; then echo "That directory exists" else echo "That directory doesn't exists" fi ;; 

我是否指向正确的目录? 我想要用户input一些东西,将被放入“SD”,如果该子目录存在,那么它会说,如果不是,那么它会去其他人说,它不存在。

Solutions Collecting From Web of "如果目录存在,则使用Unix Bash Shell编程"

尝试:

 if [ -d ~/tmp/"$sd" ]; then 

要么:

 if [ -d "$HOME/tmp/$sd" ]; then 

引用防止扩展到您的主目录。

尝试这个:-

 #!/bin/bash read sd if [ -d ~/tmp/"$sd" ]; then echo "That directory exists" else echo "That directory doesn't exists" fi