So I'm trying to get into an if statement in a bash shell script but I think I'm doing something wrong, anyways here's my sample code.
#!/bin/bash
read sd
if [ -d "~/tmp/$sd" ]; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi
;;
Am I pointing it to the correct directory? I want the user to input something which will be put into "sd" and if that subdirectory exists then it'll say it does, if not then it will go to the else and say it doesn't exist.
Try:
if [ -d ~/tmp/"$sd" ]; then
or:
if [ -d "$HOME/tmp/$sd" ]; then
Quoting prevents expansion of ~
into your home directory.
Try this:-
#!/bin/bash
read sd
if [ -d ~/tmp/"$sd" ]; then
echo "That directory exists"
else
echo "That directory doesn't exists"
fi
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.