![오류: cp: 'release\\-1.0.0\r.jar'을 계산할 수 없습니다. 해당 파일이나 디렉터리가 없습니다.](https://linux55.com/image/143528/%EC%98%A4%EB%A5%98%3A%20cp%3A%20'release%5C%5C-1.0.0%5Cr.jar'%EC%9D%84%20%EA%B3%84%EC%82%B0%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%ED%95%B4%EB%8B%B9%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%EB%82%98%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
현재 작업 디렉토리에 "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'