Não é possível repetir a linha inteira no arquivo

Não é possível repetir a linha inteira no arquivo

Não consigo descobrir como fazer com que a seguinte linha seja ecoada em um arquivo. Apenas parte dele entra no arquivo.

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

Quando executo o script abaixo disso, recebo

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

Responder1

O problema é que, como você usou aspas duplas, as referências de variáveis ​​( $reserved_block_count, $block_count) estão sendo expandidas no ambiente shell atual (de invocação); você precisa citar tudo com aspas simples:

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

informação relacionada