Printf
printf ‘$V’ 在以下情況下失敗:’^+%&/%+^
為了避免**\n**:
使用“ printf ”而不是“ echo ”
設置字元串
IFS='' read -r -d '' V <<'EOF' '^+%&/%+^ EOF
使用迴聲進行測試(工作正常)
echo "$V" '^+%&/%+^
使用 printf 進行測試(失敗)
printf "$V" bash: printf: `&': invalid format character
的第一個參數
printf
將被解釋為格式化字元串,並且%&
是無效的格式說明符。試試這個:
printf '%s' "$V"
所做的格式
printf
應該在printf(1)
手冊中解釋,或者在你的 shell 手冊中。該%s
格式只是意味著“期望一個字元串”。預設情況下,該printf
實用程序不添加換行符。