2017-06-13 4 views
0

より多くの場合歳、私はzshを試しています。私は、これはzshの中で動作するように取得する方法を見つけ出すことができないしてきたfunction-in-aliasイディオムに相当するzshはありますか?

alias workin='function _workin(){ rsync -avE --progress --stats --human-readable -e ssh [email protected]$1:/there/ /here; };_workin' 

.profileに私のbashでも

alias rsync='rsync -av --progress --stats --human-readable' 

と、このようなエイリアスがたくさんあります。私は並べ替えのエラーを取得し続ける '一致するものは見つかりません'。何か案は?前もって感謝します!

+2

なぜ単に関数を使うのではなく、別名に関数を入れているのですか? – 123

+0

これは、bash "rsync 1.1.1.13"でコマンドを発行するようなやり方を最終的にどのようにして実現したのか、私が望むことを自動的に行う方法でした。もっと良い方法があれば、私に教えてください。 – Dribbler

+1

より良い方法は、123が言ったことです:ちょうど関数を使用してください。 – melpomene

答えて

2

溶液にありますエイリアスを一切使用しないでください。

workin() { 
    rsync -avE --progress --stats --human-readable -e ssh [email protected]"$1":/there/ /here 
} 

は(あなたが$1を引用する必要があるかどうかは、使用している設定によって異なり;。zshも設定可能ややである。しかし、それはは、それを引用するを傷つけることはありませんので、私はやりますだからここに。)

0

なぜ私がbashのエイリアスで関数を使用していたのか分かりません。これはずっと前のことであり、習慣は変わります。 123とメルポメネは私のコメントの中に道を示したので、誰でもzshの中で同じことをやってのことを考えているならば、ここでのより良い方法の偉大StackExchange説明です:bashzshで、https://unix.stackexchange.com/questions/33255/how-to-define-and-load-your-own-shell-function-in-zsh

関連する問題