bash脚本循环多个变量

use*_*320 3 variables bash for-loop

我正在尝试编写如下内容

for i in {a..z} && j in {1..26}
do
echo "/dev/sd"$i"1               /disk$j                                 ext4     noatime        1 1" >> test
done
Run Code Online (Sandbox Code Playgroud)

当然,这不是正确的语法。有人可以帮助我使用正确的语法来执行此操作吗?

小智 6

为了通用,您可以使用“长度”,如下所示。

#!/bin/bash

# Define the arrays
array1=("a" "b" "c" "d")
array2=("w" "x" "y" "z")

# get the length of the arrays
length=${#array1[@]}
# do the loop
for ((i=0;i<=$length;i++)); do
        echo -e "${array1[$i]} : ${array2[$i]}"
done
Run Code Online (Sandbox Code Playgroud)

您还可以像下面这样分配数组

array1=`awk -F" " '$1 == "CLIENT" { print $2 }' clientserver.lst`
Run Code Online (Sandbox Code Playgroud)