算术展开中的变量$x$n



我遇到了这个教程示例,特别是sum=$(($sum+$x$n))行。$x$n具体意味着什么?我想$x被引用但没有被赋值(未声明/未设置的变量),不是吗?

https://linuxhint.com/bash_eval_command/

evaltest3.sh

#!/bin/bash
# Initialize the variable $sum with the value 0
sum=0
# Declare a for loop that will iterate for 4 times
for n in {1..4}
do
# Create four variables using eval command
eval x$n=$n
# Add the values of the variable with $sum
sum=$(($sum+$x$n))
done
# Assign `echo` command with string into a variable
command="echo 'The result of the sum='"
# `eval` command print the sum value using variables
eval $command $sum

(不直接回答你的问题,但提供另一种选择)

由于bash算术允许我们提供变量而不使用参数展开语法;[Ref](即没有$),我们可以写

for n in {1..4}; do ((sum += n)); done
优点是bash将空变量或未设置变量作为数字0处理。

相关内容

  • 没有找到相关文章

最新更新