Aunque el hilo es bastante viejo, lo encontré para la misma pregunta y también lo harán otros. Aquí está mi solución para este problema:
Necesita comentarios, de modo que si observa su código mucho más tarde, es probable que tenga una idea de lo que realmente hizo cuando escribió el código. Solo estoy teniendo el mismo problema al escribir mi primer script rsync, que tiene muchos parámetros que también tienen efectos secundarios.
Agrupe los parámetros que pertenecen juntos por tema y colóquelos en una variable, que recibe el nombre correspondiente. Esto hace que sea fácil identificar lo que el parámetro dirigir. Este es tu pequeño comentario. Además, puede poner un comentario encima de la declaración de variables para ver cómo puede cambiar el comportamiento. Este es el comentario de la versión larga.
Llamar a la aplicación con las variables de parámetros correspondientes.
## Options
# Remove --whole-file for delta transfer
sync_filesystem=" --one-file-system \
--recursive \
--relative \
--whole-file \ " ;
rsync \
${sync_filesystem} \
${way_more_to_come} \
"${SOURCE}" \
"${DESTIN}" \
Buena descripción, fácil de editar, y comentarios similares en los parámetros. Requiere más esfuerzo, pero tiene una calidad superior.
Idea interesante ... –
Bueno, pero tenga en cuenta que 'do echo $ {línea // # * /};' funcionará, siempre que su comando no use el argumento '-e'; si lo hace (como 'tshark'), de lo contrario, se interpretará como un argumento para' echo', y terminará desapareciendo de la salida. Luego puede usar 'printf"% s "$ {línea // # * /};' en su lugar, pero eso no le permite usar cosas como '-r" $ 1 "' para pasar un nombre de archivo en los argumentos, ya que las comillas dobles llegarán escapadas al comando (y no serán interpretadas por el intérprete de comandos), lo que arruinará el nombre del archivo. – sdaau