![bash 스크립트를 사용하여 동일한 이름으로 시작하는 파일 그룹을 이동하는 방법은 무엇입니까? [복사]](https://linux55.com/image/222478/bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%9D%B4%EB%A6%84%EC%9C%BC%EB%A1%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%ED%8C%8C%EC%9D%BC%20%EA%B7%B8%EB%A3%B9%EC%9D%84%20%EC%9D%B4%EB%8F%99%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
이 스크립트에서 무슨 일이 일어나고 있는지 잘 모르겠습니다.
files=( /home/username/file* )
#echo ${#files[@]}
if (( ${#files[@]} )); then
mv /home/username/file* /home/username/Documents/
fi
3개의 파일이 3개 있으면 출력은 ${#files[@]}
3입니다. 파일이 2개 있으면 2개입니다. 파일이 1개 있으면 출력은 1입니다. 하지만 파일이 없으면 출력도 1이 됩니다. 이유는 모르겠습니다. mv
파일이 없으면 건너뛰고 싶은데... 이 코드는 어떻게 수정해야 하나요? 감사해요
답변1
-t
"target" 옵션을 사용하는 경우 mv
이동할 파일이 0개 있으면 다음과 같은 오류 메시지가 표시됩니다.
$ shopt -s nullglob
$ mv -t subdir bbbbbbb*
mv: missing file operand
Try 'mv --help' for more information.