Хинду довольно хорош для легкого веса. Это также вынуждает Вас скомпилировать все, и можно настроить параметры компиляции, таким образом, можно выбрать, что скомпилировать в и как, что означает, это хорошо для скорости также.
Единственный недостаток - то, что это вынуждает Вас иметь в наличии инструменты компиляции, которые могут быть проблемой для рабочего сервера. Если это - локальный сервер тестирования однако, то хинду может быть хорошим выбором.
Для ответа на вопрос, который задают, потому что другие могут искать этот заголовок:
print -r -- ${(q)var} ${(qq)var} ${(qqq)var} ${(qqqq)var}
для различных типов заключения в кавычки.printf %q "$var"
BusyBox (и все выше).
Использование Вара выравнивает различия между пеплом, ударом и ksh:
q1="'"
q2="'\''"
printf '%s\n' "'${var//$q1/$q2}'"
Не в тире и старых оболочках (те недостающий $ {var//кусочек/ул.}).
самый портативный?
printf "'%s'\n" "$(printf '%s' "$var" | sed "s/'/'\\\\''/g")"
Or
printf '%s\n' "$var" | sed "s/'/'\\\\''/g; 1s/^/'/; \$s/$/'/"
Улучшения с удовольствием одобрены!
Я соглашаюсь, что не должно быть проблемы со специальными символами в том имени файла.
Я нашел, что иногда сценарии не работают в папке, которую я ожидал. Если Вы заменяете "loadPatch - имя", с "эхом" можно проверить, что 1$ - то, что Вы ожидаете. Если это - то, что Вы ожидаете, затем добавляют эти строки, чтобы видеть, является ли текущий каталог тем, что Вы ожидаете:
ls -l $1
pwd