No se puede repetir la línea completa en el archivo

No se puede repetir la línea completa en el archivo

No puedo entender cómo hacer que la siguiente línea se repita en un archivo. Sólo una parte llega al archivo.

echo perl -e "printf(\"%.1lf%%\n\", ($reserved_block_count * 100.0 ) / $block_count);">>Show_Percent_Reserved_Blocks.sh

Cuando ejecuto el script debajo de esto, obtengo

andyk_~/Downloads$ Show_Percent_Reserved_Blocks.sh
/home/andy/bin/Show_Percent_Reserved_Blocks.sh: line 2: Block: command not found
/home/andy/bin/Show_Percent_Reserved_Blocks.sh: line 3: Reserved: command not found
syntax error at -e line 1, near "/ )"
Execution of -e aborted due to compilation errors.

#!/bin/bash
Block count:              421958912
Reserved block count:     4219589
perl -e "printf(\"%.1lf%%\n\", ($reserved_block_count * 100.0 ) / $block_count);"

Respuesta1

El problema es que como ha utilizado comillas dobles, las referencias a variables ( $reserved_block_count, $block_count) se están expandiendo en el entorno de shell actual (invocador); necesitas citarlo todo entre comillas simples:

echo 'perl -e "printf(\"%.1lf%%\n\", ($reserved_block_count * 100.0 ) / $block_count);"' >>Show_Percent_Reserved_Blocks.sh

información relacionada