質問
マゼントごと ダウンロードページ, 、パッチセクションの下
パッチをMagento Root Directoryにアップロードして、適切なSSHコマンドを実行してください:ファイル拡張機能を備えたパッチファイル `.sh:sh patch_file_name.shの例:sh patch_supee-1868_ce_1.7.0.2_v1.sh
Magentoは、の直接の呼び出しを推奨しています sh
パッチランナーを実行するコマンド。のファイル拡張子 .sh
これもサポートしています。
しかし、あなたの場合 各パッチランナーファイルの上部を見てください, 、シェバン線が指し示しています bash
.
#!/bin/bash
# Patch apllying tool template
# v0.1.2
# (c) Copyright 2013. Magento Inc.
#
私のプログラマーはソースファイルを信頼したいと考えていますが、プロセスウォンはMagentoのWebサイトに書かれているものに従いたいと考えています。 BashとShの違い.
解決
実際にはBashを使用する必要があります。あなたが明示的に指摘したパッチの14行目は、このコードです。
if (( $? != 0 )); then
$((
aです 有効な算術式 xcu shで、しかし ((
ではありません。)
ただし、多くのUNIXのようなプラットフォームでは /bin/sh
単なるシンリンクです /bin/bash
. 。名前で呼び出されたとき sh
, 、Bashは無効になります いくつかの そのすべてではありませんが、そのすべてではありません。これらのパッチは、shとして呼び出されたbashのために正常に動作する可能性があります。
他のヒント
それが将来誰かを助ける場合、私はphpstormを使用してパッチを適用しました、そしてそのパッチツールは素晴らしいです。問題なくパッチを適用するのに30秒もかかりませんでした。また、ファイルの違いを確認して確認することもできます。