bash 별칭은 위와 같이 Finder의 아카이브를 시뮬레이션합니까?

bash 별칭은 위와 같이 Finder의 아카이브를 시뮬레이션합니까?

따라서 다음과 같이 셸에서 함수를 정의하는 것이 유용하다고 생각합니다.

zip() { ditto -c -k --sequesterRsrc --keepParent "$1" "$1.zip" }

여러 개의 매개변수를 사용하도록 이것을 확장하고 매개변수가 여러 개인 경우 모두 Archive.zip에 보관하고 해당 파일 이름이 이미 사용된 경우에는 Archive-1, Archive-2로 저장합니다. zip 또는 Archive-n.zip?

답변1

문제를 해결하는 방법에 대한 아이디어입니다. 나는 이것을 아직 테스트하지 않았습니다.

zippo() {  
  local n=1
  local f
  for f; do
     if [[ -e $f.zip ]]; then
      echo ditto -c -k --sequesterRsrc --keepParent "$f" "${f}-${n}.zip"
      ((n++))  
     else 
      echo ditto -c -k --sequesterRsrc --keepParent "$f" "$f.zip"
     fi
   done
 } 

내가 말했듯이 테스트되지 않았지만 에코는 올바른 출력을 얻는지 확인하기 위해 존재합니다. 제가 가지고 있는게 없어서 ditto실제로 테스트해 볼 수가 없네요.

관련 정보