scp з zsh: не знайдено відповідностей


42

коли я пробую scp over zsh, я отримую

scp hostA:Descargas/debian-6.0.4-* user@192.168.1.154:Escritorio/Software/
zsh: no matches found: hostA:Descargas/debian-6.0.4-*

та сама командна робота в bash


Чи можете ви позначити одну з відповідей правильною? Деякі виглядають досить добре.
Джефф

Відповіді:


73

Уникнути вашої підстановки:

scp hostA:Descargas/debian-6.0.4-\*

1
Я отримав таку ж помилку, коли намагався запустити працівника з рубіном з QUEUE=*опцією. Дякуємо за виправлення!
мограмер

2
Дякую за рішення ... Це здається прикладом того, що zsh занадто розумний для свого блага ...
Owen

1
Працював і для мене. Дивно хоч!
roopunk



4

Ця публікація має гарне рішення для цього, використовуючи плагін url-quote-magic для автоматичного виходу з глобусів у scp-команди. Щоб увімкнути це, додайте до свого ~/.zshrc:

# Automatically quote globs in URL and remote references
__remote_commands=(scp rsync)
autoload -U url-quote-magic
zle -N self-insert url-quote-magic
zstyle -e :urlglobber url-other-schema '[[ $__remote_commands[(i)$words[1]] -le ${#__remote_commands} ]] && reply=("*") || reply=(http https ftp)'

Коли ви вводите глобальний символ (наприклад *) як частину віддаленого контуру в команді scp або rsync, zsh автоматично додасть чорну косу смугу вперед, наприклад:

scp hostA:Descargas/debian-6.0.4-\* user@192.168.1.154:Escritorio/Software/

1
Це неприємний, але приємний трюк.
Аттіла О.

1

Надто пізно для вечірки, але ..

Ви також можете уникнути рядка з лапками

scp "hostA:Descargas/debian-6.0.4-*" "user@192.168.1.154:Escritorio/Software/"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.