Одиночные кавычки говорят оболочке сохранить символы, заключенные в кавычки, как есть, без какой-либо интерпретации. Закавыченная строка передается в grep
как есть, без кавычек: когда grep
ищет свои аргументы, он видит
grep
и
^-[0-9][0-9]*$
и действует в соответствии с этим. (Читайте Как запускаются программы, если вам интересно, как строятся аргументы в Linux.)
bash
и grep
отличаются. То, как эта команда использует кавычки, гарантирует, что bash
не обрабатывает строку, а grep
обрабатывает.
Оказывается, я использовал не тот zimg. Правильный zimg - sekrit-twc / zimg
.