Применение пятен Magento CE
Вопрос
За магенто Страница загрузки, в разделе патчей
Пожалуйста, загрузите патч в свой каталог Magento Root и запустите соответствующую команду SSH: для патчевых файлов с расширением файла `.sh: sh Patch_file_name.sh Пример: sh Patch_supee-1868_ce_1.7.0.2_v1.sh
Magento рекомендует прямой вызов sh
команда запустить их патч -бегун. Расширение файла .sh
Поддерживает это тоже.
Однако, если вы Посмотрите на верхнюю часть каждого файла Patch Runner, линия Шебанг указывает на 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 отключает немного своего положения по поведению, но не все. Вполне вероятно, что эти патчи будут работать нормально для Bash, вызванного SH.
Другие советы
В случае, если это поможет кому -то в будущем, я использовал Phpstorm для применения патча, и его патч -инструмент отличный. Потребовалось менее 30 секунд, чтобы применять патч без каких -либо проблем, и вы также можете увидеть и пройти через различия, которые есть в файлах.