相关疑难解决方法(0)

为什么 printf 比 echo 好?

我听说printfecho. 根据我的经验,我只能回忆起一个我不得不使用的实例,printf因为它echo无法将一些文本输入到 RHEL 5.8 上的某个程序中,但printf确实如此。但显然,还有其他差异,我想询问它们是什么以及是否有特定情况下何时使用一种与另一种。

echo text-processing printf

635
推荐指数
4
解决办法
27万
查看次数

$VAR vs ${VAR} 以及引用或不引用

我可以写

VAR=$VAR1
VAR=${VAR1}
VAR="$VAR1"
VAR="${VAR1}"
Run Code Online (Sandbox Code Playgroud)

最终结果对我来说似乎都差不多。我为什么要写一个或另一个?这些中的任何一个都不是便携式/ POSIX 吗?

shell shell-script environment-variables posix quoting

184
推荐指数
3
解决办法
8万
查看次数

不给 printf 使用格式会带来安全后果吗?

格式良好的printf通常有一个可以使用的格式:

$ var="Hello"
$ printf '%s\n' "$var"
Hello
Run Code Online (Sandbox Code Playgroud)

但是,不提供格式可能会产生什么安全隐患?

$ printf "$var"
Hello
Run Code Online (Sandbox Code Playgroud)

由于变量扩展被引用,应该不会有任何问题,不是吗?

shell security printf

15
推荐指数
2
解决办法
2930
查看次数