我有一个bash列表(空格分隔的字符串),我只想从中提取第一个字符串。
示例:
VAR="aaa bbb ccc" -> i need "aaa"
VAR="xxx" -> i need "xxx"
除了使用for for break之外还有其他技巧吗?
答案 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
如果你有更好的答案,我会很乐意接受它。