/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

2つの問題は次のとおりです。

  1. エイリアス定義の 1 つに閉じる二重引用符がありませんでした。(コメントで Spiff が指摘したとおり)。
  2. 問題を修正しようとして、二重引用符と一重引用符の一部を変更しました。その結果、二重引用符が二重引用符の中にネストされ、エラーが発生していました。アップデート質問では、ネストされた二重引用符をエスケープするか、一重引用符に変更する必要がありました。(コメントで Spiff が指摘したように)。

関連情報