`printf` を使って `%` パーセント記号を含む変数を印刷すると、「bash: printf: `p': 無効な書式文字」が発生します。

`printf` を使って `%` パーセント記号を含む変数を印刷すると、「bash: printf: `p': 無効な書式文字」が発生します。

printf変数の印刷に使用したいです。変数には%パーセント記号を含めることができます。

最小限の例:

$ TEST="contains % percent"
$ echo "${TEST}"
contains % percent
$ printf "${TEST}\n"
bash: printf: `p': invalid format character
contains $

echo希望の出力を提供します。)

ベストアンサー1

printf一般的な形式で使用:

printf '%s\n' "${TEST}"

からman printf

SYNOPSIS
printf FORMAT [ARGUMENT]...

あなたはする必要がありますいいえエラーとセキュリティホールが発生する可能性があるため、変数をFORMAT文字列に渡してください。


ところで:

%形式の一部として記号を使用するには、記号を入力する必要があります%%。たとえば、次のようになります。

$ printf '%d%%\n' 100
100%

おすすめ記事