栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

重定向bas​​h的输出以进行循环

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

重定向bas​​h的输出以进行循环

删除分号。

for i in `seq 2`; do echo "$i"; done > out.dat

建议

同样按照Fredrik Pihl的建议,在不需要二进制二进制文件时,或者至少在实际上不使用它们时,请尽量不要使用它们:

for i in {1..2}; do echo "$i"; done > out.datfor ((i = 1; i <= 2; ++i )); do echo "$i"; done > out.datfor i in 1 2; do echo "$i"; done > out.dat

另外,请注意

words
可能导致路径名扩展的输出。

for A in $(echo '*'); do echo "$A"; done

将显示文件而不只是文字

*

$()
还建议使用Bash和POSIX shell中的命令替换语法```,使其比使用反引号()更清晰,并且支持嵌套。

用于将输出读取到变量的更清洁的解决方案是

while read VAR; do    ...   done < <(do something)

read ... < <(do something)  ## Could be done on a loop or with readarray.for A in "${ARRAY[@]}"; do    :done

就预期功能而言,使用printf也可以是一个更容易的选择:

printf '%sn' {1..2} > out.dat


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/409061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号