gpt4 book ai didi

linux - shell 中的 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 11:36:51 26 4
gpt4 key购买 nike

这是我为操作系统类(class)准备的作业...该程序对一个数字的所有数字求和并返回总和,例如123 1+2+3 = 6我在 for 语句中有错误,但我不知道我做错了什么......请帮忙!

#!/bin/sh
read number
len=${#number}
cont=0
for(( i = 0 ; i < $len; i++ ))
do
cont=expr `$cont + number%10`
number=`$number / 10`
done
echo "$cont"

终端给我错误 ./ej.sh: 5: Syntax error: Bad for loop variable

最佳答案

1) 将 shebang 写为/bin/bash

2) 表达式中不需要美元符号

3) 你应该用反引号将整个 expr 包起来

#!/bin/bash
read number
len=${#number}
cont=0
for (( i = 0 ; i < len; i++ )); do
cont=`expr $cont + $number % 10`
number=`expr $number / 10`
done
echo "$cont"

关于linux - shell 中的 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7198765/

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