Question

Par Magento page de téléchargement , sous la section patches

S'il vous plaît télécharger le patch dans votre répertoire racine Magento et exécutez la commande SSH appropriée: Pour les fichiers de patch avec l'extension de fichier `.sh: sh patch_file_name.sh Exemple: sh PATCH_SUPEE-1868_CE_1.7.0.2_v1.sh

Magento recommande une invocation directe de la commande sh pour exécuter leur coureur de patch. L'extension du fichier de .sh prend en charge aussi.

Cependant, si vous regard en haut de chaque fichier runner patch , les points de la ligne de tralala à bash.

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

Le programmeur veut faire confiance au fichier source, mais le processus wonk veut obéir à ce qui est écrit sur le site Magento, les merveilles cyniques si le patch a été testé les différences entre bash et sh .

Était-ce utile?

La solution

Vous devez utiliser bash, en fait. Sur la ligne 14 du patch vous l'avez dit explicitement ce code:

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

$(( est une expression arithmétique valide XCU sh, mais (( n'est pas. )

Sur de nombreux UNIX comme les plates-formes, cependant, /bin/sh est juste un lien symbolique vers /bin/bash. Lorsqu'il est invoqué le nom sh, bash désactiver certains de son comportement POSIXly-unstrict, mais pas tout. Il est probable que ces patchs fonctionnerait très bien pour bash invoquée sh.

Autres conseils

Dans le cas où il aide quelqu'un à l'avenir, je l'ai utilisé pour appliquer PHPStorm patch et son outil de patch est grande. Il a fallu moins de 30 secondes pour appliquer le correctif sans aucun problème et vous pouvez également voir et passer par les différences les fichiers ont.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top