破折号:完全回显参数,不进行任何处理

破折号:完全回显参数,不进行任何处理

我想做一些像 zsh 那样的事情print -r -- ...,它只是呼应参数而不改变它们。

printf --仍然解释指令。

答案1

通常的智慧是使用:

printf '%s\n' ....

例如:

$ printf '%s\n' "a\nb\tc"
a\nb\tc

如果您需要称为printorsaypror any other,请定义:

pr () { printf '%s\n' "$@"; }

并做:

$ pr "a\nb\tc"
a\nb\tc

而且(大多数时候)它会满足您的要求。如果需要,它可以扩展到涵盖更多问题,但这是一个很好的起点。

相关内容