mv:无法统计错误:没有此类文件或目录错误
这是我的错误
这是我的代码
#!/bin/sh
printf "change word from read \n"
read a
read b
mv ${a} ${b}
printf "${b}\n"
我该如何解决?
答案 0 :(得分:2)
您尝试mv的文件不存在。
您可以通过以下方式检查它是否存在:
if [ ! -f "$a" ]
then
echo "File $a does not exist"
exit
fi
答案 1 :(得分:1)
我重写了一下你的脚本,检查文件是否存在,如果需要,将创建目录路径。您收到错误,因为文件不存在。 " MV"不会创建目录,因此您在其中输入的任何内容都必须是存在的目录路径。
所以,而不是原始版本:
#!/bin/sh
printf "change word from read \n"
read a
read b
mv ${a} ${b}
printf "${b}\n"
我建议如下:
#!/bin/bash
printf "change word from read \n"
read -r a
read -r b
if [[ ! -f ${a} ]] ; then
echo "Unable to locate ${a}...Exiting"
exit 2
fi
### If you are renaming a file, remove "if" statement below ###
if [[ ! -d ${b} ]] ; then
echo "Directory does not exist...Creating ${b}"
mkdir -p "${b}"
fi
mv "${a}" "${b}"
exit