--regextrans2: 명령을 찾을 수 없습니다

--regextrans2: 명령을 찾을 수 없습니다

이전 버전의 zimbra(7.1.4)에서 버전 8.7.7로 imap을 동기화하기 위해 imapsync 1.727을 테스트 중이었고 아래 명령에서 위와 같은 오류가 발생했습니다.

imapsync \
  --maxsize 52428800 --buffersize 8192000 \
  --nofoldersizes --nosyncacls --subscribe --syncinternaldates \
  --authmech2 PLAIN \
  --exclude '(?i)\b(Junk|Spam|Trash)\b' \
  --skipheader 'X-*' \
  --regexflag 's/\\\\(Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' --debugflags \
  --regextrans2 's,:,-,g' \
  --regextrans2 's,\",'\'',g' \
  --regextrans2 's,\s+(?=/|$),,g' \
  --regextrans2 's,^(Briefcase|Calendar|Contacts|Emailed Contacts|Notebook|Tasks)(?=/|$), $1 Folder,ig' \
  --host1 "$host1" --host2 "$host2" \
  --user1 "$username" --authuser1 admin_account_name \
  --password1 admin_account_password \
  --user2 "$username" --authuser2 admin_account_name \
  --password2 admin_account_password \
  --regextrans2 's,\",-,g' \ # change quotes to dashes
  --regextrans2 's,&AAo-|&AA0ACg-|&AA0ACgANAAo-(?=/|$),,g' \
  --ssl1 --authmech1 PLAIN --maxcommandlength1 16384 \
  --dry --debug --debugimap \

18번째 줄에서는 실패했지만 다른 줄에서는 regtrans2가 실패하지 않은 이유는 무엇입니까?

답변1

같은 줄에 주석이 이어지는 줄 연속을 가질 수 없습니다.

괜찮습니다.

echo \
hello

이것은 좋지 않습니다.

echo \ #newline here
hello

첫 번째 예에서 는 \줄 바꿈을 이스케이프하고 실행되는 명령은 입니다 echo hello.

두 번째 경우에는 가 \그 뒤의 공백을 이스케이프하고 #newline here출력으로 표시되며 그 뒤에는 오류 메시지 hello: not found [No such file or directory](또는 유사한 메시지)가 표시됩니다.

따라서 주석을 제거하십시오 (모든 것, 공백을 포함하여 마지막 \)을 지금 읽는 줄에

--regextrans2 's,\",-,g' \ # change quotes to dashes

답변2

과거의 경험을 떠올려보면 아래와 같이 구체적으로 다시 정리해야 하는 것처럼 보일 수도 있지만 그러면 작동됩니다.

imapsync \
  --dry \
  --host1 "$host1" --host2 "$host2" \
  --user1 "$username" --authuser1 admin \
  --ssl1 --authmech1 PLAIN \
  --password1 "$admin_account_password" \
  --user2 "$username" --authuser2 admin \
  --ssl2 --authmech2 PLAIN  \
  --password2 "$admin_account_password" \
  --maxsize 52428800 --buffersize 8192000 \
  --nofoldersizes --nosyncacls --subscribe --syncinternaldates \
  --authmech2 PLAIN \
  --exclude '(?i)\b(Junk|Spam|Trash)\b' \
  --skipheader 'X-*' \
  --regextrans2 "s,&AAo-|&AA0ACg-|&AA0ACgANAAo-(?=/|$),,g" \
  --regexflag 's/\\\\(?!Answered|Flagged|Deleted|Seen|Recent|Draft)[^\s]*\s*//ig' --debugflags \
  --regextrans2 's,:,-,g' \
  --regextrans2 's,\",'\'',g' \
  --regextrans2 's,\s+(?=/|$),,g' \
  --regextrans2 "s,^(Briefcase|Calendar|Contacts|Emailed Contacts|Notebook|Tasks)(?=/|$), $1 Folder,ig" \
  --regextrans2 's,\",-,g' \

관련 정보