提问人:Calico Cat 提问时间:7/30/2023 最后编辑:CyrusCalico Cat 更新时间:7/30/2023 访问量:33
如何让我的脚本识别文件路径?[复制]
How can I get my script to recognize a file path? [duplicate]
问:
因此,我正在制作我认为是一个简单的脚本,用于将多个文件移动到新位置。我想问的是文件去哪儿了。所以我输入了类似的东西
~/i/want/to/go/here
提示后。
并且脚本似乎无法将其视为有效,即使我从命令行直接复制并过去也是如此。
我尝试过$location周围的引号,双引号,提示后有一个空格,多次检查我的文件路径,直接复制粘贴我的路径。
当它说它正在检查路径时,它完美地陈述了它,但它似乎无法验证它是否存在。
I=INCAR
K=KPOINTS
o=openmpiscript
P=POSCAR
s=submit.vasp
echo "we are going to move INCAR,KPOINTS,openmpiscript,POSCAR, and submit.vasp to a desired location"
echo "Just tell me where to put them and I will automatically move all those files on your behalf."
read -p "location please:" location
echo "ok we can check and see whether or not $location is a real place"
if [[ -d $location ]];
then
echo "yup, $location is there"
else
echo "hmmm, this might not be a working directory path"
exit 1
fi
哦,我在上面列出了我尝试过的内容,但基本上我尝试了引号,没有引号,调整我的路径,通过使用 cd 从字面上转到那里然后复制粘贴来验证我的路径。
结果是它退出了,因为它不认为路径有效,并且它看不到该目录,即使它在那里。
答:
0赞
glenn jackman
#1
请点击指向重复问题的链接。
它不起作用的原因:bash 在扩展变量之前扩展了波浪号。然后它不会回去进行第二轮扩展。
请注意 https://www.gnu.org/software/bash/manual/bash.html#Shell-Expansions 中扩展的顺序
评论