Почему при использовании /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 в комментариях).

Связанный контент