printf "$V" は次の場合に失敗します: '^+%&/%+^

printf

避ける\N
使用」印刷機能「代わりに」エコ

置くひも

IFS='' read -r -d '' V <<'EOF'
'^+%&/%+^
EOF

テストエコ(うまくいきます)

echo "$V"
'^+%&/%+^

テスト印刷機能(失敗する)

printf "$V"
bash: printf: `&': invalid format character

ベストアンサー1

最初の引数はprintf型文字列として解釈され、%&無効な書式指定子です。

この試み:

printf '%s' "$V"

実行されるフォーマット操作は、printfマニュアルまたはシェルマニュアルで説明する必要があります。printf(1)この%s形式は単に「文字列が必要」を意味します。デフォルトでは、printfユーティリティは改行文字を追加しません。

おすすめ記事