잘못된 스크립트를 실행하면 이동된 폴더가 사라지는데, 어디에서? [폐쇄]

잘못된 스크립트를 실행하면 이동된 폴더가 사라지는데, 어디에서? [폐쇄]

파일을 이동하는 동안 실수로 잘못된 bash 스크립트를 실행했습니다. "Lisa"로 시작하는 모든 폴더는 사라지고 이동되지 않습니다. 다음은 오류 스크립트의 대략적인 내용입니다.

folder_path = "/media/hdd/folder/"
Lisa = "/media/hdd/folder/folder1/Lisa/"

mv $folder_path Lisa* $Lisa

Lisa로 시작하는 폴더가 모두 사라졌는데 확인해 보니 /media/hdd/folder/folder1/Lisa/거기에 없습니다. 나는 그것들이 제거되었다고 가정하지만 df -h잘못된 스크립트를 실행하기 전에 동일한 여유 공간이 여전히 보고됩니다.

아무 소용이 없군요 lsof. 폴더가 삭제된 건가요? 어떤 도움이라도 대단히 감사하겠습니다.

답변1

구문에 몇 가지 문제가 있어 몇 가지 문제가 발생합니다. Bash에서(이 스크립트를 그렇게 실행하고 있는지는 확실하지 않지만) =운영자는 주위에 공백이 있으면 할당을 수행하지 않습니다. 즉, 에 x=y할당 하고 과를 비교합니다 . 공백이 있으므로 둘 다 설정되지 않은 것으로 가정하겠습니다 (할당이 수행되지 않으므로).yxx = yxyfolder_pathLisa

그렇다면 그냥 수행 하고 빈 문자열로 mv확장하세요 . 따라서 기본적으로 다음을 실행합니다.$folder_path$Lisa

mv Lisa*

이는 현재 작업 디렉토리에서 "Lisa"로 시작하는 모든 항목으로 확장됩니다. 내용에 따라 파일 덮어쓰기, 이동, 이름 바꾸기 등 다양한 작업을 수행할 수 있습니다.

관련 정보