wildcard scp tidak bekerja di zsh


17

Saya telah beralih ke zsh, dan itu berfungsi dengan baik. Satu hal yang aneh, ketika saya mencoba scp dengan wildcard *, itu tidak berfungsi, dan saya harus jatuh ke bash. Perintah kedua di bawah ini berfungsi dengan baik.

Adakah ide mengapa ini terjadi dan bagaimana cara memperbaikinya?

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

Jawaban:


23

Bash dan Zsh memiliki perilaku default yang berbeda ketika gagal globbing.

Di bash, jika sebuah gumpalan tidak cocok dengan apa pun, Anda mendapatkan kembali gim yang tidak dimodifikasi yang Anda gunakan. Di zsh ini malah melempar kesalahan.

Jadi, Anda perlu mengutipnya.

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

Jika Anda ingin mendapatkan perilaku yang sama dengan bash, Anda dapat melakukan hal berikut

setopt nonomatch

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.