gpt4 book ai didi

linux - Bash shell脚本华氏度转摄氏度错误

转载 作者:太空宇宙 更新时间:2023-11-04 05:56:34 24 4
gpt4 key购买 nike

我正在尝试使用其他人提供的 shell 脚本来制作华氏温度值和等效摄氏温度的表格。我在第十行不断收到错误消息:

第 10 行:[1:找不到命令

我不明白 while 语句的 -lt 部分是什么,所以我不知道如何修改它。脚本接受用户的 3 个输入,然后输出上述错误。任何帮助将不胜感激。

这是脚本的代码

#!/bin/bash

echo "Enter starting Fahrenheit temperature:"

read sf

echo "Enter end Fahrenheit temperature:"

red ef

echo "Enter the step increment:"

read step

echo "Fahrenheit Celsius"

while [ $sf -lt ef ]

do

c=`expr ($sf-32)*5/9

echo "$sf $c"

sf=`expr $sf+$step

done

最佳答案

Bash 只能处理整数,即使有中间结果和比较也是如此。因此,计算值和输出值是不正确的。

#!/bin/bash

declare -i c sf # set integer attribute

read -p "Enter starting Fahrenheit temperature:" sf
read -p "Enter end Fahrenheit temperature:" ef
read -p "Enter the step increment:" step

echo "Fahrenheit Celsius"

while [ $sf -lt $ef ]; do
c=($sf-32)*5/9
echo "$sf $c"
sf=$sf+$step
done

示例:

echo "10
100
10" | ./script.sh
Fahrenheit Celsius
10 -12
20 -6
30 -1
40 4
50 10
60 15
70 21
80 26
90 32

我建议使用 Perl 或 Python 来完成此任务。

关于linux - Bash shell脚本华氏度转摄氏度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47564934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com