2016-11-22 7 views
0

変数があります(例:pos=11111)。echoを使用して変数を引用符で囲む方法

私の代わりに​​の、

"11111"を表示

echo "$pos"を、したいです。

私は

echo "\"$pos\"" 

を使用しようとしたが、示されているように、最後の引用符を逃した:

"11111 

は、このために彼らのすべてのソリューションですか?

printf '"%s"' "$pos" 

をして、改行したい場合:

+6

"11111" 'を使いますか? 'echo" \ "$ pos \" "は正しい方法です。 'pos'変数に二重引用符が消えるか、次の行に現れる末尾のガベージがないのは確かですか? – eddiem

+5

'pos'の値は' 11111 \ r'です。 '\ r'はカーソルが行の先頭に再配置されるため、終了引用符は最初の引用符を上書きします。何が 'echo" == $ pos - "'のようなものですか? – chepner

答えて

5

私はちょうどそのprintfを使用すると思います実際に

printf '"%s"\n' "$pos" 

printf is better than echo anyway

POSIX documentation for echoはさらにこう述べています。

新しいアプリケーションでは、echoの代わりにprintfを使用することをお勧めします。

関連する問題