為什麼 /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 在評論中指出的那樣)。

相關內容