Me gusta su secuencia de comandos pero, si es necesario, puede hacerlo por línea de comando directamente desde el directorio actual:
rsync -a "$PWD" ~/backup/
o de una manera similar a su enfoque de secuencia de comandos con
rsync -a "$(pwd -P)" ~/backup/
Notas:
-
Es necesario citar el directorio actual si en la ruta está presente, por ejemplo, uno o más espacios.
-
En caso de enlaces simbólicos en la ruta es posible obtener el físico ruta evitando todos los enlaces simbólicos especificando la opción
-P
en elpwd
invocación de comando ($(pwd -P)
), o llamando al ejecutable con su ruta completa ($(/bin/pwd)
).
De hecho, existe el incorporadopwd
que por defecto muestra el enlace simbólico ruta y el ejecutable/bin/pwd
que por defecto muestra el físico sendero. -
Ambos comandos se refieren a la variable
$PWD
que contiene el el directorio de trabajo actual cuando se les pregunta por la versión de la ruta con los eventuales enlaces simbólicos :así que si no necesitas estrictamente el físico ruta, puede evitar llamar al subshell y usa directamente la variable$PWD
.rsync -a "$PWD" ~/backup/
Encontré una solución:
Creó un nuevo script de shell como este:
current_dir=`pwd`
dir_name=`basename $current_dir`
rsync -a . ~/backup/$dir_name
y al ejecutar esto, creará un nuevo directorio en el destino y copiará el contenido de la carpeta actual.