Использование uglifyjs на M1 Pro с ошибкой ZSH выдает

#zsh #apple-m1

Вопрос:

Если я выполню следующее в терминале на своем Macbook M1 Pro 2021 с помощью ZSH

 uglifyjs js/script.js --compress --mangle --output js/script.min.js -m reserved=['

Я получаю эту ошибку

 zsh: no matches found: reserved=[$,require,exports]  

Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:

 uglifyjs js/script.js --compress --mangle --output js/script.min.js  -m "reserved=['

В обоих  bash  и  zsh  квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону  reserved=[lt;one of these charactersgt;]  

В  zsh  случае , если совпадений нет, вы получите сообщение об ошибке. В  bash  случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает  bash  , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:

 bashgt; echo reserved=['



,'require','exports']
Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,'require','exports']"

В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,'require','exports'] Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’] reserved=[$,require,exports] bashgt; touch ‘reserved=r’ bashgt; echo reserved=[‘

,’require’,’exports’]

Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’]»В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’]

Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’] reserved=r

,’require’,’exports’]Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’]»

В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное:


,’require’,’exports’]Я получаю эту ошибку


Но если я переключусь на bash, тогда все в порядке, может ли кто-нибудь помочь в этом, чтобы исправить это на ZSH?

Ответ №1:

Добавляйте цитаты:


В обоих bash и zsh квадратные скобки используются для сглаживания файлов. Оболочка пытается найти файлы, соответствующие шаблону reserved=[lt;one of these charactersgt;]

В zsh случае , если совпадений нет, вы получите сообщение об ошибке. В bash случае отсутствия совпадений оболочка автоматически включает исходный шаблон.

Это означает bash , что вы также хотите использовать кавычки, чтобы предотвратить глобализацию файлов. В противном случае может произойти нечто подобное: