为什么 /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 在评论中指出的那样)。

相关内容