Warum verursacht /bash_aliases diesen Fehler, wenn es als Quelle verwendet wird?

Warum verursacht /bash_aliases diesen Fehler, wenn es als Quelle verwendet wird?

Ich habe eine .bash_aliasesDatei, die ich schon lange verwende. Heute habe ich einige Befehle hinzugefügt, die auf mehrere Zeilen aufgeteilt sind (mit \).

Seitdem kann ich sourcedie Datei nicht mehr neu laden. Wenn ich das tue, bleibt sie hängen. Sie bleibt einfach dort, mit einem blinkenden Cursor in einer neuen Zeile, und bringt mich nicht zur Eingabeaufforderung zurück.

Beim ersten Ausführen des sourceBefehls wurde der folgende Fehler zurückgegeben (den ich vor dem Hinzufügen der mehrzeiligen Befehle nicht hatte):

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

Also habe ich die Zeile geändert:

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

Zu

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

Dadurch wurde der Fehler behoben. Aber jetzt, wenn ich es ausführe, source ~/.bash_aliasesbleibt es einfach mit einem leeren Cursor stehen.

AKTUALISIEREN:

Ich habe ein Fehlendes ergänzt, "wie von Spiff in den Kommentaren angemerkt. Aber jetzt erhalte ich diese Fehler, wenn ich eine Quelle für die Datei erstelle:

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

Ich habe die Datei durchgesehen, kann aber nicht erkennen, wo das Problem liegt.

FRAGE: Was führt dazu, dass diese .bash_aliasesDatei beim Bezug nicht aktualisiert wird?

Hier ist die Datei (Domänenname entfernt)


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";

Antwort1

Es handelte sich um die folgenden beiden Probleme:

  1. Bei einer der Aliasdefinitionen fehlten die schließenden Anführungszeichen (wie von Spiff in den Kommentaren angemerkt).
  2. Ich habe einige der doppelten und einfachen Anführungszeichen geändert, während ich versuchte, das Problem zu beheben. Dies führte dazu, dass doppelte Anführungszeichen in doppelten Anführungszeichen verschachtelt wurden, was die im folgenden Artikel beschriebenen Fehler verursachte.AKTUALISIERENin der Frage. Ich musste entweder diese verschachtelten Anführungszeichen maskieren oder sie in einfache Anführungszeichen ändern. (wie von Spiff in den Kommentaren angemerkt).

verwandte Informationen