Linux 脚本中的 MV 命令失败 - 使用变量
Linux MV command failing from Script - using variables
我正在尝试从 bash 脚本中移动文件,
我已将源和目标保存到变量中:
source='/Users/usr/Downloads/Drop/test\ movie.m4v'
dest='/Users/usr/Downloads/Movies/test\ movie.m4v'
我是 运行:
mv $source $dest
我得到输出:
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
我做错了什么!?
我要移动的文件的路径中可能包含也可能不包含 space。我正在使用 sed 在 space.
之前添加转义字符
提前致谢:)
有很多方法可以处理包含空格的文件名,一个快速的解决方案可能是将 mv
命令中的变量用引号引起来:
#!/bin/bash
source=/path/to/file\ with\ space
dest=/path/to/file\ with\ space2
mv "$source" "$dest"
我没有使用转义字符,而是将我的变量用引号引起来,所以:
source='/Users/usr/Downloads/Drop/test movie.m4v'
dest='/Users/usr/Downloads/Movies/test movie.m4v'
mv "$source" "$dest"
我正在尝试从 bash 脚本中移动文件,
我已将源和目标保存到变量中:
source='/Users/usr/Downloads/Drop/test\ movie.m4v'
dest='/Users/usr/Downloads/Movies/test\ movie.m4v'
我是 运行:
mv $source $dest
我得到输出:
usage: mv [-f | -i | -n] [-v] source target
mv [-f | -i | -n] [-v] source ... directory
我做错了什么!?
我要移动的文件的路径中可能包含也可能不包含 space。我正在使用 sed 在 space.
之前添加转义字符提前致谢:)
有很多方法可以处理包含空格的文件名,一个快速的解决方案可能是将 mv
命令中的变量用引号引起来:
#!/bin/bash
source=/path/to/file\ with\ space
dest=/path/to/file\ with\ space2
mv "$source" "$dest"
我没有使用转义字符,而是将我的变量用引号引起来,所以:
source='/Users/usr/Downloads/Drop/test movie.m4v'
dest='/Users/usr/Downloads/Movies/test movie.m4v'
mv "$source" "$dest"