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
相关产品推荐
相关产品推荐

