我在当前工作目录中有一个文件“release-1.0.0.jar”,我试图将其复制到目录“release_dir”。
export t_version="1.0.0"
mkdir -p release_dir
cp release-${t_version}.jar release_dir
错误:cp: cannot stat ‘release\\-1.0.0\r.jar’: No such file or directory
答案1
您的脚本是在 Windows 计算机上编写的,或者以其他方式获取了 DOS 行结束符。
这意味着脚本的每一行都有一个额外的回车符(\r
),这又意味着该变量t_version
具有实际的值1.0.0\r
,并且您创建的目录实际上将被调用release_dir\r
,等等。
使用以下命令将脚本文件转换为 Unix 文本文件dos2unix
:
dos2unix myscript.sh
并且还删除该错误命名的目录(假设您使用bash
):
rmdir $'release_dir\r'