许多年后,我试试zsh。我有
alias rsync='rsync -av --progress --stats --human-readable'
以及我的bash .profile
中的很多这样的别名alias workin='function _workin(){ rsync -avE --progress --stats --human-readable -e ssh me@$1:/there/ /here; };_workin'
我一直无法弄清楚如何在zsh中使用它。我不断收到“找不到匹配”的错误。有任何想法吗?提前谢谢!
答案 0 :(得分:2)
bash
和 zsh
中的解决方案是完全免除别名。
workin () {
rsync -avE --progress --stats --human-readable -e ssh me@"$1":/there/ /here
}
(是否需要引用$1
取决于您使用的设置; zsh
有点太可配置。但是,它不会伤害引用它,所以我会在这里这样做。)
答案 1 :(得分:0)
我不确定为什么我在bash中使用别名中的函数:很久以前,习惯变化很大。 123和melpomene在评论中向我展示了方式,所以如果有人想在zsh中做同样的事情,这里有一个很好的StackExchange解释更好的方法:https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh