题
根据洋红色 下载页面, ,在补丁部分下
请将补丁程序上传到您的Magento root Directory中,然后运行适当的SSH命令:用于使用文件扩展名的补丁文件`.sh:sh Patch_file_name.sh示例:SH Patch_supee-1868_ce_1.7.0.0.2_v1.sh
Magento建议直接调用 sh
命令运行他们的补丁跑者。文件扩展 .sh
也支持这一点。
但是,如果你 查看每个补丁程序文件的顶部, ,Shebang线指向 bash
.
#!/bin/bash
# Patch apllying tool template
# v0.1.2
# (c) Copyright 2013. Magento Inc.
#
我中的程序员想信任源文件,但是wonk的流程想遵守Magento网站上写的内容,愤世嫉俗的奇特想知道是否已经对补丁进行了测试 Bash和SH之间的差异.
解决方案
实际上,您必须使用bash。在您明确指出的补丁程序的第14行上是此代码:
if (( $? != 0 )); then
$((
是一个 有效的算术表达 在XCU SH中,但是 ((
不是。)
但是,在许多类似Unix的平台上 /bin/sh
只是对 /bin/bash
. 。当调用名称时 sh
, ,bash确实禁用 一些 它的无情行为,但并非全部。这些补丁可能会很好地适用于SH。
其他提示
如果将来它帮助某人,我已经使用phpstorm应用了补丁程序,并且其补丁工具很棒。无需任何问题即可应用补丁程序不到30秒,您还可以看到并通过文件所存在的差异。