Tôi muốn lưu trữ giá trị 2 ^ 500 trong biến DELTA
.
tôi đang làm
export DELTA=$(echo "scale=2; 2^500" | bc)
nhưng điều này không được đặt DELTA
thành 3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376
. Thay vào đó, nó đặt nó thành
32733906078961418700131896968275991522166420460430647894832913680961\
33796404674554883270092325904157150886684127560071009217256545885393\
053328527589376
Tôi đã thử các câu trả lời trong câu hỏi này (3 tuổi), bằng cách sử dụng
export DELTA=$(echo "scale=2; 2^500" | bc | tr '\n' ' ')
hoặc là
export DELTA=$(echo "scale=2; print 2^500" | bc | tr '\n' ' ')
nhưng không ai trong số họ làm việc để thiết lập biến, chỉ để lặp lại nó. Bất kỳ ý tưởng?
Bạn đã có câu trả lời, tôi chỉ muốn thêm rằng bạn không cần
—
jimmij
echo
lệnh. Thay vào đó, hãy sử dụng chuyển hướng Here String :bc <<< "scale=2; 2^500"
@jimmij Một điều; đi
—
cú pháp
echo
đường là dễ di chuyển hơn nhiều (nghĩ thương mại * nixes). Thêm vào đó, bạn phải đảm bảo rằng bạn /tmp
có thể ghi được nếu bạn sử dụng chuỗi ở đây. Hãy suy nghĩ về console khẩn cấp với /
gắn ro - đây chuỗi cách tiếp cận của bạn sẽ thất bại.
BC_LINE_LENGTH
như Stephane trong câu trả lời này: unix.stackexchange.com/a/176966/70524