Frage

Per Magento Seite herunterladen, unter dem Abschnitt Patches

Bitte laden Sie den Patch in Ihr Magento-Root-Verzeichnis hoch und führen Sie den entsprechenden SSH-Befehl aus: Für Patch-Dateien mit der Dateierweiterung `.sh: sh patch_file_name

Magento empfiehlt einen direkten Aufruf der sh Befehl, ihren Patch -Läufer auszuführen. Die Dateierweiterung von .sh unterstützt dies auch.

Wenn Sie jedoch Schauen Sie sich die Oberseite jeder Patch -Runner -Datei an, die Shebang -Linie zeigt auf bash.

#!/bin/bash
# Patch apllying tool template
# v0.1.2
# (c) Copyright 2013. Magento Inc.
#

Der Programmierer in mir möchte der Quelldatei vertrauen, aber der Prozess Wonk will befolgen, was auf der Magento -Website geschrieben ist die Unterschiede zwischen Bash und SH.

War es hilfreich?

Lösung

Sie müssen tatsächlich Bash verwenden. In Zeile 14 des Patchs, auf das Sie ausdrücklich darauf hingewiesen haben, ist dieser Code:

if (( $? != 0 )); then

$(( ist ein Gültiger arithmetischer Ausdruck in xcu sh, aber (( ist nicht.)

Auf vielen Unix-ähnlichen Plattformen jedoch, /bin/sh ist nur ein Symlink zu /bin/bash. Wenn er mit dem Namen aufgerufen wird sh, Bash deaktiviert etwas seines posixly-unstrikten Verhaltens, aber nicht alles. Es ist wahrscheinlich, dass diese Patches gut funktionieren, um Bash als SH aufzurufen.

Andere Tipps

Für den Fall, dass es jemandem in Zukunft hilft, habe ich Phpstorm verwendet, um Patch anzuwenden, und sein Patch -Tool ist großartig. Es dauerte weniger als 30 Sekunden, um Patch ohne Probleme anzuwenden, und Sie können auch die Unterschiede, die die Dateien haben, sehen und durchgehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top