Pregunta

Por el magento página de descarga, debajo de la sección de parches

Cargue el parche en su directorio raíz Magento y ejecute el comando SSH apropiado: para archivos de parche con la extensión del archivo `.Sh: sh parche_file_name.sh Ejemplo: sh parche_supee-1868_ce_1.7.0.2_v1.sh.sh

Magento recomienda una invocación directa del sh comando ejecutar su corredor de parche. La extensión del archivo de .sh Apoya esto también.

Sin embargo, si tu Mire la parte superior de cada archivo de corredor de parche, la línea Shebang señala bash.

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

El programador en mí quiere confiar en el archivo fuente, pero el proceso Wonk quiere obedecer lo que está escrito en el sitio web de Magento, el cínico se pregunta si el parche ha sido probado contra las diferencias entre Bash y Sh.

¿Fue útil?

Solución

Debes usar Bash, en realidad. En la línea 14 del parche que señaló explícitamente está este código:

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

$(( es un expresión aritmética válida en xcu sh, pero (( no es.)

En muchas plataformas de unix, sin embargo, /bin/sh es solo un enlace simbólico para /bin/bash. Cuando se invoca con el nombre sh, Bash se deshabilita alguno de su comportamiento positional, pero no todo. Es probable que estos parches funcionen bien para Bash invocado como SH.

Otros consejos

En caso de que ayude a alguien en el futuro, he usado phpstorm para aplicar el parche y su herramienta de parche es excelente. Tomó menos de 30 segundos aplicar el parche sin ningún problema y también puede ver y pasar por las diferencias que tienen los archivos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top