如何将mpc status | awk 'NR==1'结果保存为Bash变量?
正确的Bash变量赋值方法
你需要的变量赋值写法本身是正确的,就是你尝试过的:
songplaying=$(mpc status | awk 'NR==1')
如果赋值后变量不符合预期,大概率是以下问题导致:
- 赋值语句带空格:Bash不允许赋值号
=两边有空格,比如错误写法songplaying = $(...),必须严格写成变量名=$(命令)的格式 - 命令输出含多余换行/控制字符:如果要去除多余换行,可追加处理命令:
songplaying=$(mpc status | awk 'NR==1' | tr -d '\n') - mpc输出带ANSI颜色码:如果不需要颜色干扰,可使用
mpc的无颜色参数:songplaying=$(mpc status --no-colors | awk 'NR==1')
验证变量是否成功赋值的常用命令:
# 保留格式查看变量内容 echo "$songplaying" # 查看变量的原始字符(排查不可见控制码) printf "%q\n" "$songplaying"
内容的提问来源于stack exchange,提问作者syswombat
相关产品推荐
相关产品推荐

