Dan*_* Li 15
尝试使用内部字段分隔符( IFS):
AUTH_CODE='82a8-bd7d-986d-9dc9-41f5-fc02-2c20-3175-097a-c1eb'
OIFS=$IFS # store old IFS in buffer
IFS='-' # set IFS to '-'
for i in ${AUTH_CODE[@]} # traverse through elements
do
echo $i
done
IFS=$OIFS # reset IFS to default (whitespace)
Run Code Online (Sandbox Code Playgroud)
输出:
82a8
bd7d
986d
9dc9
41f5
fc02
2c20
3175
097a
c1eb
Run Code Online (Sandbox Code Playgroud)
通过设置内部字段分隔符,拆分AUTH_CODE的-性格,让您通过在新创建的元素遍历foreach循环。
您可以使用 IFS,但这更简单:
echo "82a8-bd7d-986d-9dc9-41f5-fc02-2c20-3175-097a-c1eb"- \
| while read -d - i; do echo "$i"; done
Run Code Online (Sandbox Code Playgroud)
请注意-在要拆分的字符串之后添加- 否则 read 将忽略最后一个标记。