Almacenar 2^500 en una variable en bash

Almacenar 2^500 en una variable en bash

Quiero almacenar el valor de 2^500 en la variable DELTA.

estoy haciendo

export DELTA=$(echo "scale=2; 2^500" | bc)

pero esto no se establece DELTAen 3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376. En cambio, lo establece en

32733906078961418700131896968275991522166420460430647894832913680961\
33796404674554883270092325904157150886684127560071009217256545885393\
053328527589376

Probé las respuestas enesta pregunta(3 años), usando

export DELTA=$(echo "scale=2; 2^500" | bc | tr '\n' ' ') 

o

export DELTA=$(echo "scale=2; print 2^500" | bc | tr '\n' ' ')

pero ninguno de ellos funciona para configurar la variable, solo para repetirla. ¿Alguna idea?

Respuesta1

En la implementación GNU de bc, existe la variable de entorno BC_LINE_LENGTH(cf man bc):

~$ echo "scale=2; 2^500" | bc
32733906078961418700131896968275991522166420460430647894832913680961\
33796404674554883270092325904157150886684127560071009217256545885393\
053328527589376
~$ export BC_LINE_LENGTH=99999 #or better 0
~$ echo "scale=2; 2^500" | bc
3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376

Respuesta2

echo "scale=2; 2^500" | bc | tr -d '\n\\'

Producción:

3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009 217256545885393053328527589376

Respuesta3

Pensar más allá:

export DELTA=$(python -c 'print(2**500)')

Respuesta4

$ echo "scale=2; 2^500" | bc | perl -pe 's/\\\n//'
3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376

información relacionada