Używając poleceń takich jak rsync
i scp
przy pomocy ZSH
, mam problemy. Zamiast (normalnego) zachowania polegającego na podawaniu mi wszystkich pasujących plików, nie uruchomi się i zwróci:
➜ ~ rsync -azP user@server:~/* ~/
zsh: no matches found: user@server:~/*
Jak mogę to naprawić?
Mój .zshrc
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="robbyrussell"
plugins=(git brew)
source $ZSH/oh-my-zsh.sh
export PATH=$PATH:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/local/sbin
bash
.rsync
ją zobaczy. Czy to możliwe, że korzystałeś z tej samej ścieżki do katalogu domowego na obu serwerach?bash
rozwija tyldę tylko wtedy, gdy zaczyna słowo, lub jest pierwszym znakiem po znaku:
lub=
w przypisaniu zmiennej. W przeciwnym razie traktowane jest dosłownie.Używam zpretzo od kilku miesięcy, a także ten problem. Natrafiłem na fajne i przydatne rozwiązanie, jeśli nie chcesz wprowadzać żadnych zmian: po prostu wstaw ukośnik odwrotny do polecenia.
Mam nadzieję, że to pomoże!
źródło
To rozwiązuje problem bez konieczności ręcznego cytowania adresów URL
źródło
zsh -f
dla kanonicznego conf powłoki), skopiuj i wklej polecenia w swojej powłoce i wpisz (lub wklej) swojersync
polecenie. Zobaczysz magię w pracy ;-) (specjalne znaki pod adresem URL zostaną automatycznie zacytowane)