如何使用read命令仅读取字符串的某些部分?

时间:2019-01-02 22:24:23

标签: linux bash shell

让我们举个例子:

echo "Choose your color and number: "

我的答案:Blue 2

我想读第一个单词和第二个单词,像这样:

read COLOR NUMBER

然后我可以使用$COLOR(第一个单词或Blue)和$NUMBER(第二个单词或2)作为变量

我该怎么办?谢谢

1 个答案:

答案 0 :(得分:1)

  • 使用read word1 word2 ... wordN$wordN分配单词:

    echo "word1: $word1"
    echo "word2: $word2"  
    echo "wordN: $wordN"
    
  • 使用-a array使用其索引访问单词。

    echo "${array[0]}"
    echo "${array[1]}"
    

请参见man page

read [-a array][name ...]
  

该行与单词一样分为多个字段       拆分,第一个单词分配给第一个NAME,第二个单词分配给       给第二个NAME的单词,依此类推,将剩余的单词分配给       最后一个名字。

     

-数组将读取的单词分配给数组的顺序索引         变量ARRAY,从零开始