Ich habe eine .bash_aliases
Datei, die ich schon lange verwende. Heute habe ich einige Befehle hinzugefügt, die auf mehrere Zeilen aufgeteilt sind (mit \
).
Seitdem kann ich source
die 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 source
Befehls 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_aliases
bleibt 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_aliases
Datei 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:
- Bei einer der Aliasdefinitionen fehlten die schließenden Anführungszeichen (wie von Spiff in den Kommentaren angemerkt).
- 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).