Unix / linux shell scripting การแบ่งจุดทศนิยม


0

ฉันต้องหารค่าทศนิยมสองค่าและเก็บไว้ในตัวแปร รหัสของฉันด้านล่าง v_missedvol=4003.03 v_allvolume=3003.03 v_vol_temp= $(echo "$v_missedvol / $v_allvolume" | bc -l )

ผลลัพธ์ที่ฉันได้รับคือ

-ksh: =1.33299700635691285135: not found [No such file or directory]

ต่อไปฉันต้องการค่าที่จะเก็บไว้เป็น

v_volume_total=1.3329 *100

กรุณาช่วยด้วยนี้ขอบคุณ!


1
โปรดอธิบายความหมายของบรรทัดสุดท้าย คุณต้องการจัดเก็บผลลัพธ์ของ 1.3329*100? คุณจำเป็นต้องตัดทอนผลลัพธ์ก่อนการคูณหรือไม่? คุณต้องการจัดเก็บสูตรจริง "1.3329 * 100" หรือไม่?
Slizzered

คำตอบ:


1

คุณมีข้อผิดพลาดทางไวยากรณ์เล็กน้อย อาจไม่มีช่องว่างระหว่าง v_vol_tem= และ $(echo ...

ลอง

v_vol_temp=$(echo "$v_missedvol / $v_allvolume" | bc -l )

@ VIGNESH12990 หากคำตอบสามารถแก้ไขปัญหาของคุณได้โปรดลองทำเครื่องหมายเป็นคำตอบที่ถูกต้อง
Slizzered

0

หรือเพียงแค่ใช้การสนับสนุนจุดลอยที่สร้างขึ้นใน ksh

#!/usr/bin/ksh
v_missedvol=4003.03
v_allvolume=3003.03
v_vol_temp=$(( v_missedvol  / v_allvolume ))
echo $v_vol_temp
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.