linux 如何将两个变量替换为一个变量并打印值

6l7fqoea  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(84)

我必须通过一个循环得到输入

printf 'Please enter the number of default old and new tech node patterns: '
read number
for ((i = 1; i <= number; i++))
do 
    printf "Enter old  pattern $i: "
    read  old_pattern${i}
    printf "Enter new  pattern $i: "
    read  new_pattern${i}
done

我需要在一个循环中获取这些值并执行一些显示/操作

for ((i = 1; i <= $number; i++))
do 
    echo  $old_pattern${i}
    echo  $new_pattern${i}
done

例如,我们有下面的值从读取输入(通过for循环),

old_pattern1=hi
new_pattern1=foo

old_pattern2=hello
new_pattern2=world

现有o/p

{1}
{1}

请帮助我如何在bash中实现此功能。
我需要通过第二个循环打印相同的值。
第一次迭代的预期o/p:

hi
foo
x8diyxa7

x8diyxa71#

这是正确的脚本

printf 'Please enter the number of default old and new tech node patterns: '
read number


for ((i = 1; i <= $number; i++))
do 
    printf "Enter old pattern $i: "
    read old_pattern
    printf "Enter new pattern $i: "
    read new_pattern
    pattern_pairs+=("old_pattern$i=${old_pattern}" "new_pattern$i=${new_pattern}")
done   

for pattern in "${pattern_pairs[@]}"
do 
    echo "$pattern"
done

相关问题