1
oh-my-zshを使用しています。bashとoh-my-zshのrm -fの動作が異なる
alias rm='rm -i'
function clean_tex_mid_file()
{
rm -f *.dvi *.log *.synctex.gz *.aux
}
alias cleantex='clean_tex_mid_file'
そして私は、私は上記で定義されcleantex
を使用して存在しないファイルを削除しようとしたとき、それは-f
オプションを無視して、'no matches found: *.dvi'
よう訴えたことが判明:私はrm
コマンドについて次の二つの別名を調達取得している両方。
さらに深いテストでは、bashは同じエイリアスファイルを取得していないファイルを削除しようとしていることを知らせます。
この問題をどのように処理し、何が起こったのですか?
'RM -f'はこちら仕様に動作している - それは**はずの何かが存在しない場合**静かに成功します。 –
密接に関連しています:[zshが拡張しようとする理由*とbashはありません](https://stackoverflow.com/questions/20037364/why-zsh-tries-to-expand-and-bash-does-not) –
注別名を使って関数に簡単な名前を付けることは 'zsh'では必要ないということです。関数に複数の名前を付けることができます: 'clean_tex_mid_file cleantex(){...}'。しかし、最初に関数 'cleantex'の名前を付ける代わりに、複数の名前が必要な理由は明確ではありません。 – chepner