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 구현에는 환경 변수 (cf ) bc가 있습니다 :BC_LINE_LENGTHman 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\\'

산출:

3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009 217256545885393053328527589376

답변3

틀을 깨고 생각하라:

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

답변4

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

관련 정보