我有一个 bash 脚本,它接受一个带有变量的 url 并将其写入文件,问题是 & 符号正在干扰并被解释为命令/控制字符。
在这种情况下,字符串在传递给脚本之前无法转义,我还没有找到任何方法来做到这一点。
if [ $1 ] ; then
url=$1
printf %q "$url" > "/somepath/somefile"
fi
例如 $1 是 localhost?x=1&y=2&z=3
打印的只是第一个&符号之前的部分:“localhost?x=1”
我也尝试过 echo 而不是 printf 但它完全一样??