システムエイリアスを追加するには?

システムエイリアスを追加するには?

私のエイリアスは次のとおりです.zshrc

alias grim='gvim --remote'

しかし、これはRangerファイルマネージャでは見ることができません。私はRangerが「ユニバーサル」シェルを実行し、私をスキップし、.zshrcこのエイリアスをすべてのシェルで表示したいと思います。

に追加しましたが~/.profile効果が/etc/zsh/zshrcありませんでした。具体的には、次のようなメッセージを受け取りました。

/bin/sh: grim: not found

答え1

対話型シェルだけがエイリアス定義を含むことができるファイルを読み取ることができます。アプリケーションで実行されるシェルコードでコマンドの別名を使用する場合は、エイリアスは正しいツールではありません。代わりに、次のラッパースクリプトを作成してください。

#!/bin/sh
gvim --remote "$@"

それを呼び出し~/bin/grimて実行可能にします。~/binPATHスクリプトを他のディレクトリに配置できる)を確認してくださいPATH

システム内のすべてのユーザーに対して機能するようにするには、ディレクトリーが/usr/local/binすべてのユーザーのPATHにあることを確認してディレクトリに入れます。

答え2

ファイルを生成できます。エイリアス.sh/etc/profile.dディレクトリに

この行を書く

alias grim='gvim --remote'

このファイル内でエイリアス.sh

これにより、システム全体のカスタマイズが作成されます。

変えるエイリアス.sh次の別のファイル名を使用できます。

答え3

~/.config/ranger/commands.py をハッキングして shell.execute() の最後の行を置き換えることができます。

self.fm.execute_command(command, flags=flags)

そして

self.fm.execute_command("bash -c '" + command + "'", flags=flags)

これは私にとって効果的です。

答え4

似たようなことをしたことがありますか? :

source /path/to/.profile

関連情報