回答:
aliasコマンドの構文は、すべてのBourneスタイルのシェルで同じです。あなたがそれらを全体で共有することができますので~/.zshrc、~/.bashrc、~/.kshrc、~/.shrc、限り、彼らはすべてのシェルで意味をなすよう。
すべてのシェルでサポートされている構文のサブセットを使用する限り、同じことが変数定義と関数定義にも当てはまります。
4.0より古いバージョンのzshを使用しない場合は、シェルに依存しないすべての定義を(たとえば)というファイルに入れることができます。~/.common.rc.sh最初の行は
emulate -LR sh 2>/dev/null
これにより、zshはこのファイルでのみsh互換の構文を期待するようになります。そして、ソースの先頭に近いファイルという~/.bashrc、~/.bashrc、~/.kshrcというように。
これは基本的に私がすることです。例えば、私はのエイリアスを生成し、やや複雑なコード持っているls(利用できるものに応じて私の好きなオプションを備えた--color、-G、-F、など)。それはそうで行く、シェルに依存しないのです.common.rc.sh。以下のように私はまた、シェル依存の別名を持つalias zcp='zmv -C'ことがで行きます.zshrc。
/bin/shaliasesファイルの先頭にシバンを配置すると、すべてのシェルで意図したとおりに機能しますか?
#!行を入れないでください。これはスタンドアロンスクリプトではなく、別のスクリプトでのみソースを取得できます。#!とにかく、シェルの動作を変更しません。
alias最初の引数を+オプションのようなものとして扱うため、zshのように記述-するalias +=something必要があることですalias -- +=something。emulateそれを変えるとは思わないでください。
~/.shrcBourne Shellは最も強力なエイリアス実装を持っていzshますが、互換性のないオプション名を使用しているので注意してください。Bourne Shell alias -gで永続的なエイリアスを作成します$HOME/.globals。エイリアス定義の共有は、POSIX機能のみを使用する場合にのみ安全です。
zshさんはalias一方で、グローバルエイリアスを可能にするbashのが唯一の行の先頭に展開されます。
でzsh:
alias -g L="| less -FRX"
その後、次のことができます。
verbose-command L
役立つグローバルエイリアスのリストについては、こちらをご覧ください。