gpt4 book ai didi

bash - 如何将数组长度分配给bash中的变量

转载 作者:行者123 更新时间:2023-11-29 09:36:51 27 4
gpt4 key购买 nike

我正在尝试编写一个简单的 bash 脚本来添加整数并提供总和。我认为最简单的方法是将输入分配给一个数组。然后遍历数组进行求和。我需要在 for 循环中使用数组的长度,但不知道如何将数组长度分配给变量。

对简单脚本的任何帮助表示赞赏(我这样做是为了学习 bash)

#!/bin/bash
# add1 : adding user supplied ints

echo -n "Please enter any number of integers: "
read -a input

echo "Your input is ${input[*]}"
echo "${#input[@]} number of elements"

num = ${#input[@]} # causing error
for ((i = 0; i < "${num}"; ++i )); do # causing error
sum = $((sum + input[$i]))
done

echo "The sum of your input is $sum"

产生错误:

line 10: num: command not found 
line 11: ((: i < :syntax error: operand expected (error token is "< ")

最佳答案

你只是有一个语法错误。去掉=前的空格:

num = ${#input[@]}   # causing error

变成:

num=${#input[@]}   # works

请注意,如果您在 bash 中使用 = 运算符对变量进行赋值,则 = 前后不得有任何空格

阅读this entry about Variable Assignment in the Advanced Bash-Scripting Guide

关于bash - 如何将数组长度分配给bash中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16323721/

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