如何使用echo用引号包装变量

0 bash

我有一个变量,例如,pos=11111.

我想要

echo "$pos",显示

"11111"而不是11111.

我试着用

echo "\"$pos\""
Run Code Online (Sandbox Code Playgroud)

但它错过了最后一个引用,如图所示:

"11111
Run Code Online (Sandbox Code Playgroud)

他们的解决方案是什么?

Eri*_*ouf 5

我只是用它printf然后:

printf '"%s"' "$pos"
Run Code Online (Sandbox Code Playgroud)

如果你想要换行符:

printf '"%s"\n' "$pos"
Run Code Online (Sandbox Code Playgroud)

无论如何,printf优于echo

事实上,echoPOSIX文档甚至说:

鼓励新应用程序使用printf而不是echo.