So I have this code
#!/bin/bash
> oldFiles.txt
files=$(grep " jane " ../data/list.txt | cut -d ' ' -f 3)
for i in $files ; do
if test -e ~$i; then echo "$i" >> oldFiles.txt;
fi
done
And when I run those code the oldFiles.txt still empty, but after I added a forwardslash in the if statement like in the codeblock below, the code works.
if test -e ~/$i; then echo "$i" >> oldFiles.txt;
So what's the difference between adding a forwardslash and not? Thankyou.
CodePudding user response:
/ is the path delimiter. Since ~ expands to /home/user without a trailing foward slash, ~$i exapands to /home/userpath not /home/user/path.
