为什么我无法显示/回显 -e?

为什么我无法显示/回显 -e?

我正在开展一个项目,需要将“-e”的值(表示“结束日期”)传递给 java 程序(jar 文件),但是当我尝试通过显示其值(echo)来调试它是否正确时,“-e”似乎没有显示。

当我尝试使用其他值(例如“-f”)时,它正确回显。

答案1

如果我理解正确的话,以下是 U&L 的原文


  • 带有换行符

     echo -en '-e\n'
    
  • 没有换行符

     echo -e '-e\c'
    
  • 周围有空格:

     echo '-e '
     echo ' -e'
    
  • 使用退格键(感谢 Joseph R.):

     echo -e ' \b-e'
    

(它确实输出 SPC BS - e LF,但是当发送到呈现为 BS 的终端时,-e会将光标向左移动一列,从而-覆盖 SPC)

bash内置的行为echo可能取决于 bash 版本。它还取决于环境(POSIXLY_CORRECTSHELLOPTS变量BASHOPTS)、选项(posixxpg_echo)、构建选项和argv[0]shvs bash)。此处使用GNU bash 4.2.53(1)、默认构建、默认选项、空环境进行测试,调用方式为bash。也适用于zsh 5.0.5

相关内容