Bash / zshエイリアスをどのように管理しますか?

Bash / zshエイリアスをどのように管理しますか?

Bash / zshエイリアスをどのように管理しますか?

「エイリアスを考慮する - > .zshrc-sourced-fileを開く - >編集 - >閉じる、.zshrcを再ロードする - >エイリアスを使用する」を減らして、これを簡単にするツールはありますか?

答え1

これ以上エイリアスを追加または編集することはほとんどありませんが、それでもエイリアスを保持し、時々使用します。

alias savealiases='alias > ~/.bash-aliases'

loadaliasesまた、1つのシェル(ターミナルウィンドウまたはタブ、tmuxウィンドウ、sshセッションなど)でエイリアスを作成または変更し、実行中の他のシェルに簡単にロードできるようにすることもできます。

alias loadaliases='source ~/.bash-aliases'

ログインまたは新しいシェルの起動時にエイリアスがロードされるようにするには、次のようにします~/.bashrc

[ -e ~/.bash-aliases ] && . ~/.bash-aliases

とても独創的ですが、20年以上私には十分でした。エイリアスをうまく編集する必要がある場合は、viを使用できます。

答え2

bashとzsh以上に興味がある場合は、1980年にUNOSコマンドソルバーを使用して導入されたまったく異なるアプローチに興味があるかもしれません。コマンドソルバーはファイルに保存された永続的な別名を実装します。$HOME/.globals

この方法は、最新のBourne ShellバージョンのSchily-Toolsから入手できるbshで利用可能になりました。

最近の Bourne Shell のマニュアルページをご覧ください:

http://schillix.sourceforge.net/man/man1/bosh.1.html

Korn Shell構文の複雑なエイリアスは正確な引用符で入力するのが難しいのに対し、Bourne Shellはいわゆるaliashashコマンドを実装してモードでエイリアス入力を許可するため、このアプローチに言及します。

注:永続エイリアスをサポートしていない他のシェルのエイリアスを保存する正しい方法は次のとおりです。

alias -p > file

ksh93を使用して呼び出すと、alias次の出力が表示されます。

autoload='typeset -fu' command='command ' compound='typeset -C'

しかし、 に電話するとalias -p次のようになります。

alias autoload='typeset -fu' alias command='command ' alias compound='typeset -C'

ご覧のとおり、alias -p返された内容は後で次のように呼び出してシェル入力として再利用できるため必要です。

. file

編集:alias -pPOSIXではありませんが、bash以外のシェルはデフォルトで解析可能な出力を生成しないようです。一部のシェルは解析可能な出力を生成しません!

-p出力する必要があるシェルはparsable次のとおりです。

  • ボンシェル
  • ksh93(ksh88は解析可能な出力または-pをサポートしていません)

バッシュを許可する-p ...

ところで:スプリント解析可能な出力はまったくサポートされておらず、-pもサポートされていません。 扱いにくいalias -pviaと同等の機能を実装しますalias -L

関連情報