我正在尝试将补丁嵌入到 bash 脚本中 - 无法让补丁从变量中读取补丁

我正在尝试将补丁嵌入到 bash 脚本中 - 无法让补丁从变量中读取补丁
read -d '' PATCH_OS <<EOF

//PATCH//TEXT//

EOF

patch -b < ${PATCH_OS}

失败了:

./script.sh: line 39: --- //PATCH//TEXT//

(第 39 行是“patch -b < ${PATCH_OS}””)

答案1

重定向不是这样工作的。<重定向来自文件;如果你指定一个变量,那么它的内容将被视为文件名。你应该寻找的是<<<。不要忘记在 两边加上引号"$variable",否则 bash 会用空格分割它的值。

(除了在您的示例脚本中,该变量是无用的。只需patch -b <<EOF直接使用即可。)

相关内容