¿Por qué /bash_aliases crea este error cuando se obtiene?

¿Por qué /bash_aliases crea este error cuando se obtiene?

Tengo un .bash_aliasesarchivo que he estado usando durante mucho tiempo. Hoy agregué algunos comandos que están divididos en varias líneas (usando \).

Desde que hice eso, no puedo sourcerecargar el archivo. Cuando lo hago se queda atascado. Simplemente se queda ahí, con un cursor parpadeante en una nueva línea, y no me devuelve al símbolo del sistema.

Inicialmente, ejecutar el sourcecomando arrojaría el siguiente error (que no había tenido antes de agregar los comandos de varias líneas)

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

Entonces cambié la línea:

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

a

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

Eso detuvo ese error. Pero ahora, cuando lo ejecuto source ~/.bash_aliases, aparece con un cursor enrojecido.

ACTUALIZAR:

Agregué una falta "como lo señaló Spiff en los comentarios. Pero ahora recibo estos errores al realizar una fuente en el archivo:

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

Revisé el archivo y no veo cuál es el problema.

PREGUNTA: ¿Qué causa que este .bash_aliasesarchivo no se actualice cuando se obtiene?

Aquí está el archivo (nombre de dominio eliminado)


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

Respuesta1

Las dos cuestiones fueron las siguientes:

  1. A una de las definiciones de alias le faltaban las comillas dobles de cierre. (como señaló Spiff en los comentarios).
  2. Cambié algunas de las comillas simples y dobles mientras intentaba solucionar el problema. Esto dio como resultado que las comillas dobles se anidaran entre comillas dobles, que es lo que generó los errores observados en elACTUALIZARen la pregunta. Necesitaba escapar de esas comillas dobles anidadas o cambiarlas por comillas simples. (como señaló Spiff en los comentarios).

información relacionada