zshの環境でscpコマンドにワイルドカード使用して実行しようとするとうまくいかなかったときの解決方法
scpコマンドでダウンロード
ssh先ユーザー | VMホスト名 |
totagi | vm-totagi |
の想定で
scp totagi@vm-totagi:~/hoge.log Documents
リモート先のhoge.logファイルをダウンロードする場合に.logファイルをすべてダウンロードしたい。
scp totagi@vm-totagi:~/*.log Documents
ワイルドカードを使用すると
zsh: no matches found: scp totagi@vm-totagi:~/*.log Documents
とでる。
方法1 zshの環境を変える
ワイルドカードに補完がかかってしまうらしいので
setopt nonomatch
scp totagi@vm-totagi:~/*.log Documents
とする毎回面倒なので.zshrcにsetopt nonomatchを記載してもよい。
方法2 “(ダブルクォーテーション) '(シングルクォーテーション)で囲む
scp "totagi@vm-totagi:~/*.log" Documents
scp 'totagi@vm-totagi:~/*.log' Documents
おわりに
どちらでもいいが自分は方法2で実行するようにしています。
コメント