You need to enable JavaScript to run this app. 使用for循环展示登录用户列表时echo输出结果异常如何解决
优惠活动
大模型
产品
解决方案
定价
更多

使用for循环展示登录用户列表时echo输出结果异常如何解决

问题根因
  • 现有代码for循环的迭代对象是who | wc -l的输出,即登录用户的总数量(单个数字),因此整个循环只会执行1次
  • 单次循环内执行的$(who | cut -d' ' -f1)会输出所有登录用户的用户名(逐行换行),最后只在整体输出的末尾拼接1次is here.,最终就得到了你遇到的错误输出结果
修复方案

直接遍历所有登录用户名即可实现预期效果:

for user in $(who | cut -d' ' -f1)
do
  echo "$user is here."
done

如果需要兼容用户名包含空格的极端场景,可以使用while循环写法:

who | cut -d' ' -f1 | while read -r user
do
  echo "$user is here."
done

内容的提问来源于stack exchange,提问作者Luna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 05:54:04