![KornShell 告诉我“未知的格式说明符”](https://linux22.com/image/116553/KornShell%20%E5%91%8A%E8%AF%89%E6%88%91%E2%80%9C%E6%9C%AA%E7%9F%A5%E7%9A%84%E6%A0%BC%E5%BC%8F%E8%AF%B4%E6%98%8E%E7%AC%A6%E2%80%9D.png)
我收到未知的格式说明符代码是
space=(($RANDOM % 99) + 1 )
printf "%$space /n" $char
之前定义的 Char
有人可以帮忙吗?
答案1
- 改成:
/
\
printf "test \n" $char
- 使用定义的格式,例如
'%*s \n'
- 使 printf 中的空格数可变:
printf '%*s \n' "$space"
- 引用你的变量。使用
"$char"
而不是$char
例子:
space=22; char=a; printf "%*s \n" "$space" "$char"
然后,确保 space 的值为数字,使用$((…))
:
space=$(( ($RANDOM % 99) + 1 ))
或者,更简单:
char=a; printf "%*s \n" "$(( ($RANDOM % 99) + 1 ))" "$char"