scpワイルドカードがzshで機能しない


17

zshに切り替えましたが、うまく機能しています。奇妙なことに、*ワイルドカードを使用してscpを実行しようとしても機能せず、bashにドロップする必要があります。以下の2番目のコマンドは正常に機能します。

なぜそうなるのか、それを修正する方法についてのアイデアはありますか?

~/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は、グロビングに失敗した場合のデフォルトの動作が異なります。

bashでは、グロブが何にも一致しない場合、使用した変更されていないグロブを取得します。zshでは、代わりにエラーがスローされます。

したがって、引用する必要があります。

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

bashと同じ動作を取得したい場合は、次のことができます。

setopt nonomatch

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.