Используя такие команды, как rsync
и scp
с, ZSH
я столкнулся с проблемой. Вместо (нормального) поведения, связанного со всеми соответствующими файлами, он не запускается и возвращает:
➜ ~ rsync -azP user@server:~/* ~/
zsh: no matches found: user@server:~/*
Как я могу это исправить?
мой .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
когда-либо ее увидит. Может быть, вы просто использовали один и тот же путь для домашнего каталога на обоих серверах?bash
раскрывает тильду, только когда начинается слово, или является первым символом после:
или первым=
в присваивании переменной. В противном случае это трактуется буквально.Я использую zpretzo в течение довольно нескольких месяцев, а также столкнулся с этой проблемой. Я наткнулся на аккуратное и полезное решение, если вы не хотите вносить какие-либо изменения: просто добавьте обратную косую черту в команду.
Надеюсь, это поможет!
источник
Это решает вашу проблему без необходимости вручную цитировать URL
источник
zsh -f
для канонической оболочки conf), скопируйте и вставьте команды в вашей оболочке и введите (или вставьте) вашуrsync
команду. Вы увидите магию на работе ;-) (специальные символы в URL будут автоматически указаны)