Bash printf 文字逐字字符串

标签 bash unix printf bsd verbatim

为了使我的代码可移植,我尝试使用 printf 而不是 echo。但是后来

printf "-dogs-cats"

返回一个错误。当前情况下的解决方法是:

printf "-";printf "dogs-cats"

但是是否有一个通用的、可移植的命令(或一个带有 printf 的选项)将任意字符串作为文字/逐字打印,而不是尝试将字符串解释为一种格式?

我在 BSD 工作Unix(在 Mac 上),但我的目标是代码也能在其他 Unix 风格中运行。

最佳答案

使用格式规范:

printf '%s' "-dogs-cats"

关于Bash printf 文字逐字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40423203/

相关文章:

unix - 如何仅使用基本 awk 打印字符的 ASCII 值

linux - 什么时候使用 .fini_array 部分?

linux - 如何将错误输出发送到 bash 中的 stdout 和文件

c - 如何使用 grep 或 find 查找函数的定义或类名?

c - 存档文件中的数字是什么意思?

c++ - 如何在 C++ 中使用 fprintf 编写 UTF-8 文件

可以传递非字符串文字的c函数strftime创建一个不受控制的格式字符串漏洞

Bash shell 脚本在没有 Inotify 的情况下收到新文件时获取电子邮件

linux - 在 sed 中添加前导 0

linux - 为什么 "grep"在此示例中表现不同?