/bash_aliases가 소스일 때 이 오류를 생성하는 이유는 무엇입니까?

/bash_aliases가 소스일 때 이 오류를 생성하는 이유는 무엇입니까?

.bash_aliases오랫동안 사용해온 파일이 있습니다 . 오늘은 (를 사용하여) 여러 줄로 나누어진 몇 가지 명령을 추가했습니다 \.

source그 이후로 는 파일을 다시 로드 할 수 없습니다 . 내가 할 때 그것은 막힌다. 새 줄에 깜박이는 커서와 함께 거기에 앉아서 명령 프롬프트로 돌아가지 않습니다.

처음에 명령을 실행하면 source다음 오류가 반환됩니다(여러 줄 명령을 추가하기 전에는 발생하지 않았던 오류입니다).

-bash: alias: date: not found
-bash: alias: +%Y-%m-%d-%H.%M.%S: not found

그래서 나는 줄을 바꿨습니다.

    /home/waiheke26/sites/www.waihekehoney.co.nz/backups/wp-files-$(date +%Y-%m-%d-%H.%M.%S).tar.gz \

에게

    '/home/waiheke26/sites/www.waihekehoney.co.nz/backups/wp-files-$(date +%Y-%m-%d-%H.%M.%S).tar.gz' \

그 오류가 중단되었습니다. 하지만 이제 실행하면 source ~/.bash_aliases플러시 커서가 표시됩니다.

업데이트:

"Spiff가 댓글에 언급한 대로 누락된 내용을 추가했습니다 . 하지만 이제 파일에 대한 소스 작업을 수행할 때 다음 오류가 발생합니다.

-bash: alias: backup: not found
-bash: alias: OK || echo Database: not found
-bash: alias: backup: not found
-bash: alias: failed: not found

파일을 살펴봤지만 문제가 무엇인지 알 수 없습니다.

질문.bash_aliases: 이 파일이 소스로 제공될 때 업데이트되지 않는 원인은 무엇입니까 ?

파일은 다음과 같습니다(도메인 이름이 제거됨).


alias bashupdate="source ~/.bash_aliases";
alias aliases="cat ~/.bash_aliases";

alias wphome="cd /home/waiheke26/sites/www.waihekehoney.co.nz/public";

alias wpsyncfolder="cd /waiheke26/sites/www.waihekehoney.co.nz/backupsync";

alias wpsync="wphome && rsync -va --exclude 'cache' \
    --exclude 'wp-content/uploads' \
    --exclude 'wp-content/cache' \
    --exclude 'wp-content/uploads' \
    --exclude 'wp-content/backups' \
    --exclude 'wp-content/envato-backups' \
    /home/waiheke26/sites/www.waihekehoney.co.nz/public/ \
    /home/waiheke26/sites/www.waihekehoney.co.nz/backupsync/public/ --delete";

alias wptar="wpsyncfolder && tar -zcf \
    '/home/waiheke26/sites/www.waihekehoney.co.nz/backups/wp-files-$(date +%Y-%m-%d-%H.%M.%S).tar.gz' \
    . \
    && echo 'File backup OK' || echo 'File backup failed'";

alias wpbackup="dbbackup && wpsync && wptar && cleanbackups";

# alias wpbackup="wphome && tar --exclude='./wp-content/uploads' --exclude='./wp-content/cache' --exclude ='./cache' --exclude='./wp-content/backups' --exclude='./wp-snapshots' --exclude='./wp-content/envato-backups' -zcf /home/waiheke26/sites/www.waihekehoney.co.nz/backups/wp-files-$(date +%Y-%m-%d-%H.%M.%S).tar.gz . && echo "File backup OK" || echo "File backup failed"';
alias dbbackup="wphome && wp db export --add-drop-table && mv *.sql /home/waiheke26/sites/www.waihekehoney.co.nz/backups/ && echo "Database backup OK" || echo "Database backup failed"";

alias cleanbackups="find /home/waiheke26/sites/www.waihekehoney.co.nz/backups -mtime +7 -delete";
alias cleanbackups-test="find /home/waiheke26/sites/www.waihekehoney.co.nz/backups -mtime +7 -print";

alias wpdbbackup="wpbackup && dbbackup && cleanbackups";

답변1

두 가지 문제는 다음과 같습니다.

  1. 별칭 정의 중 하나에 닫는 큰따옴표가 누락되었습니다. (Spiff가 주석에서 언급했듯이).
  2. 문제를 해결하려고 노력하는 동안 일부 큰따옴표와 작은따옴표를 변경했습니다. 이로 인해 큰따옴표가 큰따옴표 안에 중첩되어 오류가 발생했습니다.업데이트질문에. 중첩된 큰따옴표를 이스케이프 처리하거나 작은따옴표로 변경해야 했습니다. (Spiff가 주석에서 언급했듯이).

관련 정보