scp wildcard не працює в zsh


17

Я перейшов на zsh, і він працює чудово. Одна дивна річ, коли я намагаюся зробити scp з * wildcard, це не спрацьовує, і я повинен кинутись на баш. Друга команда нижче добре працює.

Будь-які ідеї, чому це було б і як це виправити?

~/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/* .

Відповіді:


23

Bash і Zsh мають різні поведінки за замовчуванням, якщо мова йде про невдалої глобалізації.

Якщо ви баште, якщо глобус нічого не відповідає, ви отримуєте назад не модифікований глобус, який ви використовували. У zsh це замість цього видає помилку.

Таким чином, вам потрібно це цитувати.

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

Якщо ви хочете отримати таку саму поведінку, як баш, ви можете зробити наступне

setopt nonomatch

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.