Bash 你怎么能呼应文字'-n';或'-e';?
在Bash(或者任何其他shell)中,如果我有一个任意的字符串要回显,那么如果字符串是Bash 你怎么能呼应文字'-n';或'-e';?,bash,echo,command-line-arguments,Bash,Echo,Command Line Arguments,在Bash(或者任何其他shell)中,如果我有一个任意的字符串要回显,那么如果字符串是-n,-e,或者-e,我如何才能使回显不为空?我希望像echo--e这样的东西能起作用(阻止echo解释任何进一步的选项),但事实并非如此 即使显式地指定一个标志也不能阻止它:echo-E-en仍然没有输出 使用echo时是否安全,或者我是否只需将所有echo调用切换到printf“%s\n”?我会使用: printf "%s\n" "-n" 如今,它简单、安全、可靠,在大多数地方都可用。我会使用: pri
-n
,-e
,或者-e
,我如何才能使回显不为空?我希望像echo--e
这样的东西能起作用(阻止echo解释任何进一步的选项),但事实并非如此
即使显式地指定一个标志也不能阻止它:echo-E-en
仍然没有输出
使用echo时是否安全,或者我是否只需将所有echo调用切换到printf“%s\n”
?我会使用:
printf "%s\n" "-n"
如今,它简单、安全、可靠,在大多数地方都可用。我会使用:
printf "%s\n" "-n"
如今,它简单、安全、可靠,在大多数地方都可用。有点难看,但这似乎奏效了:
echo -e "-\0e"
编辑:正如GLGL在评论中所建议的,更好的解决方案是
echo-e'-\0145'
或echo-e'-\x65'
有点难看,但这似乎有效:
echo -e "-\0e"
编辑:正如GLGL在评论中所建议的,更好的解决方案是
echo-e'-\0145'
或echo-e'-\x65'
它看起来好像可以<代码>echo-e“-\0e”| hextump-C为我提供000000002d00650a
。此处不需要00
。但是echo-e'-\0145'
应该这样做,0145
是e
的八进制表示。我会更新答案的,只是看起来可以<代码>echo-e“-\0e”| hextump-C为我提供000000002d00650a
。此处不需要00
。但是echo-e'-\0145'
应该这样做,0145
是e
的八进制表示。我会更新答案。