gpt4 book ai didi

linux - 统计计算操作并从 shell 脚本将它们写入文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:49 26 4
gpt4 key购买 nike

伙计们。一般来说,我是 Linux 和 shell 脚本的新手,我有一个问题。

我有以下简单的计算器:

input="yes"
while [[ $input = "yes" ]]
do

PS3="Press 1 for Addition, 2 for subtraction, 3 for multiplication and 4 for division: "
select math in Addition Subtraction Multiplication Division
do
case "$math" in
Addition)
echo "Enter first no:"
read num1
echo "Enter second no:"
read num2
result=`expr $num1 + $num2`
COUNTER=COUNTER+1
echo Answer: $result
break
;;
Subtraction)
echo "Enter first no:"
read num1
echo "Enter second no:"
read num2
result=`expr $num1 - $num2`
echo Answer: $result
break
;;
Multiplication)
echo "Enter first no:"
read num1
echo "Enter second no:"
read num2
result=`expr $num1 * $num2`
echo Answer: $result
break
;;
Division)
echo "Enter first no:"
read num1
echo "Enter second no:"
read num2
result=$(expr "scale=2; $num1/$num2" | bc)
echo Answer = $result
break
;;
*)
echo Choose 1 to 4 only!!!!
break
;;
esac
done

done

我想要的只是能够对操作进行计数(这意味着成功的操作是+1,比如“2 + 5 = 7”,一些计数器变量变为+1..然后是其他东西,然后再次+1)直到用户输入一些东西来停止计算器。然后应将计数器变量(保存执行的操作总数)写入新文件中。我该怎么做,或者有人可以给我举个例子吗?

最佳答案

你可以使用一个计数器:

  • 在循环前设置count=0
  • 在检查算术运算的状态 ($?) 后,使用 ((count++)) 成功操作后增加计数器
  • 使用 printf "%d\n""$count"> file 将计数写入文件

不确定为什么要每次写入一个新文件。如果这是所需的行为,您可以每次生成一个新的文件名。也许,您可以将文件命名为 operation.txt.N,其中 N 是计数器。

您可以添加 Quit 作为用户可以选择的选项:

PS3="Press 1 for Addition, 2 for subtraction, 3 for multiplication, 4 for division and 5 to Quit: "
select math in Addition Subtraction Multiplication Division Quit
... existing code here ...

并添加这个案例:

    Quit)
input=no
break
;;

关于linux - 统计计算操作并从 shell 脚本将它们写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41925560/

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