如何从bash列表中获取第一个字符串?

时间:2013-08-28 11:14:36

标签: bash

我有一个bash列表(空格分隔的字符串),我只想从中提取第一个字符串。

示例:

 VAR="aaa bbb ccc" -> i need "aaa"
 VAR="xxx" -> i need "xxx"

除了使用for for break之外还有其他技巧吗?

5 个答案:

答案 0 :(得分:6)

请尝试以下格式:

echo "${VAR%% *}"

另一种方式是:

read FIRST __ <<< "$VAR"
echo "$FIRST"

答案 1 :(得分:5)

也许用cut?

echo $VAR | cut --delimiter " " --fields 1     #number after fields is the 
                                               #index of pattern you are retrieving

答案 2 :(得分:3)

如果需要数组,请使用数组。 ;)

VAR=(aaa bbb ccc)
echo ${VAR[0]} # -> aaa
echo ${VAR[1]} # -> bbb

答案 3 :(得分:2)

我不确定这是多么标准,但这适用于Bash 4.1.11

NewVAR=($VAR)
echo $NewVAR

答案 4 :(得分:1)

目前在Linux和OS X上唯一有效的解决方案是:

 IP="1 2 3"
 for IP in $IP:
 do
   break
 done

如果你有更好的答案,我会很乐意接受它。