bashの変数に2^500を格納する

bashの変数に2^500を格納する

2^500 の値を変数に格納したいですDELTA

私がやっている

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

しかし、これはDELTAに設定されません3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376。代わりに に設定されます。

32733906078961418700131896968275991522166420460430647894832913680961\
33796404674554883270092325904157150886684127560071009217256545885393\
053328527589376

私は答えを試しましたこの質問(3歳)、使用

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

または

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

しかし、どれも変数を設定するために機能せず、それをエコーするだけです。何かアイデアはありますか?

答え1

の GNU 実装にはbc、環境変数BC_LINE_LENGTH( を参照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

答え2

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

出力:

3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376

答え3

枠にとらわれずに考える:

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

答え4

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

関連情報