답변1
다음을 사용하면 오류가 발생합니다 $()
.
$(zip "$1.zip" $1)
이것은명령 대체, 명령을 해당 출력으로 대체합니다. 따라서 쉘은 zip
출력을 가져와 이를 쉘 스크립트의 일부로 해석하려고 시도합니다.
adding: ...
adding:
시스템에서 유효한 명령이 아니며 쉘이 이에 대해 불평할 것입니다.
다음 명령을 직접 실행해야 합니다.
zip "$1.zip" "$1"
출력을 제거하려면 방향을 바꾸거나 옵션("quiet")을 사용 zip
하십시오 -q
.
zip "$1.zip" "$1" > /dev/null
zip -q "$1.zip" "$1"
발생한 오류는 계속 표시됩니다.
답변2
zip 명령이 설치되어 있는지 확인하십시오. Debian Linux를 사용하고 있는데 unzip은 설치되어 있지만 기본적으로 zip은 설치되지 않습니다.
또한 zip을 호출하는 명령의 구문은 gzip 및 bzip2를 호출하는 명령과 다릅니다.
"$1.zip" versus "${1}.bz2" and "${1}.gz"