写 shell 时最容易迷糊的地方之一,就是变量到底是一个参数,还是被空格拆成了好几个。临时用 printf '<%s>\n' 打印一下,每个参数一行,会比直接 echo 清楚不少。
环境:bash 4+。可以直接试:
name='hello world'
printf '<%s>\n' $name
printf '<%s>\n' "$name"
第一段没加引号,大概会看到:
<hello>
<world>
第二段加了引号,就是一个完整参数:
<hello world>
这个小写法很适合排查脚本里路径带空格、参数拼接不对的问题。不是啥高级技巧,但能少猜很多。