将变量设置为 stdin 的某些部分

将变量设置为 stdin 的某些部分

我有三个变量 、xyz,我想从 stdin 读取第一个、第三个和第六个单词(没有多大意义,但这只是一个例子),而 stdin 是

foo turtle bar dog bird baz qwer asdf

x应该是fooy应该是bar,而且z应该是baz

如何获取 stdin 的某些部分并将其读入变量?

答案1

将字符串读入数组,用数组元素指针声明 X、Y、Z 变量。

#! /bin/bash --posix

#STRING="foo turtle bar dog bird baz qwer asdf"

read -p "Input String: " STRING

IFS=' ' read -a arr <<< "$STRING"

X=${arr[0]}
Y=${arr[2]}
Z=${arr[5]}

printf "x is $X\ny is $Y\nz is $Z\n"

答案2

阅读第一至第六,使用您想要的任何一个:

read -p "Enter values:  " one two three four five six
  

相关内容