![Bash의 변수에 2^500을 저장합니다.](https://rvso.com/image/36033/Bash%EC%9D%98%20%EB%B3%80%EC%88%98%EC%97%90%202%5E500%EC%9D%84%20%EC%A0%80%EC%9E%A5%ED%95%A9%EB%8B%88%EB%8B%A4..png)
변수에 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
(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
답변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