我确实有一个 Bash 列表(空格分隔的字符串),我只想从中提取第一个字符串。
例子:
VAR="aaa bbb ccc" -> I need "aaa"
VAR="xxx" -> I need "xxx"
除了使用for和break之外,还有其他技巧吗?
我确实有一个 Bash 列表(空格分隔的字符串),我只想从中提取第一个字符串。
例子:
VAR="aaa bbb ccc" -> I need "aaa"
VAR="xxx" -> I need "xxx"
除了使用for和break之外,还有其他技巧吗?
试试这种格式:
echo "${VAR%% *}"
另一种方法是:
read FIRST __ <<< "$VAR"
echo "$FIRST"
使用剪切:
echo $VAR | cut --delimiter " " --fields 1 # Number after fields is the
# index of pattern you are retrieving
如果需要数组,请使用数组。;)
VAR=(aaa bbb ccc)
echo ${VAR[0]} # -> aaa
echo ${VAR[1]} # -> bbb
我不确定这是多么标准,但这在 Bash 4.1.11 中有效
NewVAR=($VAR)
echo $NewVAR
目前,在 Linux 和 OS X 上唯一有效的解决方案是:
IP="1 2 3"
for IP in $IP:
do
break
done