scp wildcard не работает в zsh

17

Я переключился на Zsh, и он работает нормально. Одна странная вещь, когда я пытаюсь использовать scp с подстановочным знаком *, он не работает, и мне приходится заходить в bash. Вторая команда ниже работает нормально.

Любые идеи о том, почему это будет и как это исправить?

~/dmp  16:06:10
$ scp abc@123:/home/se/exports/201405091107/* .
zsh: no matches found: root@uf3:/home/se/exports/201405091107/*

~/dmp  16:06:53
$ bash 
sean@seanlaptop:~/dmp$ scp abc@123:/home/se/exports/201405091107/* .
ardochhigh
источник

Ответы:

23

Bash и Zsh по-разному ведут себя, когда дело доходит до неудачного сглаживания.

В bash, если глобус ничего не соответствует, вы получаете немодифицированный глобус, который вы использовали. В zsh это выдает ошибку.

Таким образом, вам нужно процитировать это.

scp 'abc@123:/home/se/exports/201405091107/*' .

Если вы хотите получить то же поведение, что и bash, вы можете сделать следующее

setopt nonomatch
Патрик
источник
2

Проверьте этот ответ на /superuser//a/740728/978073

Для пользователей zprezto добавление команды с обратной косой чертой работает!

Заменить,

$ scp <command>

с

$ \scp <command>
Гаурав Миттал
источник