Linux下如何使用exit 0命令避免产生多余换行?
解决
exit 0执行后出现多余空行的问题 执行exit 0后终端会多出一行空行,期望的输出效果是:
exit 0 $
实际执行后得到的效果却是:
exit 0 $
试过exit -ne 0、echo -ne; exit 0这些命令都没用,给你几个可行的解决办法:
用
exec执行exit
直接让exec替换当前进程执行exit,跳过shell的额外换行处理逻辑:exec exit 0执行前用
printf控制输出
用printf清空输出缓冲区,避免触发额外换行:printf ""; exit 0调整shell提示符(PS1)
如果使用bash,检查你的PS1环境变量,若其中包含多余的换行符,直接修改即可。比如把原本带\n$的提示符改成:export PS1="$ "要是想永久生效,把这行命令添加到
~/.bashrc或~/.bash_profile文件中。
问题原因
多余空行的产生是因为shell在处理exit命令时,会先解析你输入命令后的换行符,之后再输出提示符,两者叠加就形成了额外的空行。上面的方法要么跳过shell的后续处理步骤,要么控制输出流,要么修改提示符的输出逻辑,从而消除多余空行。
内容的提问来源于stack exchange,提问作者Bob Gax
相关产品推荐
相关产品推荐

