スクリプトにコマンドの代わりにエイリアスを使用させることはできますか?

スクリプトにコマンドの代わりにエイリアスを使用させることはできますか?

コマンドにエイリアスがあります(Python開発環境を設定しています)。

alias python=~/virtualenv/bin/python

これにより、~/virtualenv/bin/python単に入力して実行できますpython。これでプロジェクトにシェルスクリプトがあります。たとえば、次のようになります。

#!/bin/sh
python run-project.py

スクリプトを変更せずに、スクリプトで見つけたエイリアスのpython代わりに私のエイリアスを使用することはできますか?python$PATH

ベストアンサー1

はい。

エイリアスを入れれば~/.aliasesできます

export BASH_ENV="~/.aliases"
somescript

これは予測できない#!/bin/bashため、スクリプトがで始まると仮定します。#!/bin/sh

私の提案は次のとおりです。

  1. ~/.bashenv を作成
  2. スクリプトで使用するすべての設定を~/.bashrcから~/.bashenvに移動します。
  3. ~/.bashrc の上部に以下を追加します。
    [ -f ~/.bashenv ] && source ~/.bashenv
  4. BASH_ENV=~/.bashenv/etc/environment に入れてください
  5. #!/bin/bashスクリプトがまだ起動していない場合は、次から始めます。

またはzshを使用している場合は、エイリアスを〜/ .zshenvに移動してください。 zshは自動的にこのファイルを探します。


~/virtualenv/binしかし、おそらくそれを前にしてPATHPythonスクリプトを#!/usr/bin/env python最初の行に変更する方が簡単かもしれません。

おすすめ記事