현재 작업 디렉토리에 "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'