我有一个变量:
? echo $numholds
409503
409929
409930
409932
409934
409936
409941
409942
409944
409946
Run Code Online (Sandbox Code Playgroud)
我想做一个 for 循环,但换行分隔不起作用:
? for num in $numholds; do
echo $num ,
echo New Item!
> done
409503
409929
409930
409932
409934
409936
409941
409942
409944
409946 ,
New Item!
Run Code Online (Sandbox Code Playgroud)
这甚至发生在我设置IFS=$"\n \t"
. 我怎样才能使这项工作?
Sté*_*las 10
要在 zsh 中拆分换行符,您可以使用f
参数扩展标志(f
对于行f
eed),它是 的缩写ps:\n:
:
for num (${(f)numholds}) print -r New item: $num
Run Code Online (Sandbox Code Playgroud)
您还可以使用$IFS
-splitting ,在zsh
(与其他类似 Bourne 的 shell 相反)中,您必须使用$=param
语法明确要求参数扩展($=
看起来有点像一把剪刀):
for num ($=numholds) print -r New item: $num
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2003 次 |
最近记录: |