예상치 못한 동작: bash의 zip -r

예상치 못한 동작: bash의 zip -r

이 스크립트가 있습니다.

#!/bin/bash

date="20180313"
source_path="/Users/<user_name>/Source/Git/WSI"
installer_path="../FE_Installer/cdk_installer/*"

echo "archive=$source_path/wsi_installers_$date.zip"
echo "path=$installer_path"

# Create the installer archive
zip -r "$source_path/wsi_installers_$date.zip" "$installer_path"

아카이브가 존재하지 않으면 다음과 같이 실패합니다.

zip warning: name not matched: ../FE_Installer/cdk_installer/*
zip error: Nothing to do! (try: zip -r /Users/<user_name>/Source/Git/WSI/wsi_installers_20180313.zip . -i ../FE_Installer/cdk_installer/*)

echo 문은 올바른 경로를 나타내지만:

archive=/Users/<user_name>/Source/Git/WSI/wsi_installers_20180313.zip
path=../FE_Installer/cdk_installer/*

-i 옵션을 사용하여 권장 명령을 시도했지만 다음 오류로 인해 실패했습니다.

zip warning: zip file empty

echo 문의 출력을 사용하고 zip 명령을 수동으로 실행하는 경우:

zip -r /Users/<user_name>/Source/Git/WSI/wsi_installers_20180313.zip ../FE_Installer/cdk_installer/*

효과가있다:

adding: ../FE_Installer/cdk_installer/ADP_Installers.hta (deflated 71%)
adding: ../FE_Installer/cdk_installer/StartHta.exe (deflated 71%)
adding: ../FE_Installer/cdk_installer/WSPCP_TDI/ (stored 0%)
...
adding: ../FE_Installer/cdk_installer/common/styles/plugins.css (deflated 85%)
adding: ../FE_Installer/cdk_installer/common/styles/table.css (deflated 80%)
adding: ../FE_Installer/cdk_installer/updatecenter/ (stored 0%)

그런 다음 스크립트를 실행하면 작동하고 출력에 아카이브가 업데이트되고 있음이 표시됩니다.

updating: ../FE_Installer/cdk_installer/ADP_Installers.hta (deflated 71%)
updating: ../FE_Installer/cdk_installer/StartHta.exe (deflated 71%)
updating: ../FE_Installer/cdk_installer/WSPCP_TDI/ (stored 0%)
...
updating: ../FE_Installer/cdk_installer/common/styles/plugins.css (deflated 85%)
updating: ../FE_Installer/cdk_installer/common/styles/table.css (deflated 80%)
updating: ../FE_Installer/cdk_installer/updatecenter/ (stored 0%)

내가 무엇을 놓치고 있나요?

답변1

내 생각 *에는 installer_path확장되지 않을 것입니다. 그냥 꺼내세요 *.installer_path

관련 정보