You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

bash脚本中echo命令-ne参数不生效问题求助

解决办法

问题根源是你用sh执行脚本时,调用的可能是POSIX标准的shell(比如dash),而POSIX的echo不支持-n和-e选项,会把-ne当作普通输出内容处理。

以下是两种可行的解决方式:

  • 用bash直接执行脚本:
    要么显式指定bash运行:

    bash myScript.sh
    

    要么给脚本添加执行权限后直接运行(脚本开头的#!/bin/bash会自动调用bash):

    chmod +x myScript.sh
    ./myScript.sh
    
  • 替换echo为printf:
    printf是POSIX标准工具,行为跨shell更一致,把原命令替换成:

    printf "%s|\r" "$display"
    

    这样不管用sh还是bash执行,都能实现原echo -ne的效果(不换行+解析转义字符\r)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:01:11