コマンドにエイリアスがあります(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
私の提案は次のとおりです。
- ~/.bashenv を作成
- スクリプトで使用するすべての設定を~/.bashrcから~/.bashenvに移動します。
- ~/.bashrc の上部に以下を追加します。
[ -f ~/.bashenv ] && source ~/.bashenv
BASH_ENV=~/.bashenv
/etc/environment に入れてください#!/bin/bash
スクリプトがまだ起動していない場合は、次から始めます。
またはzshを使用している場合は、エイリアスを〜/ .zshenvに移動してください。 zshは自動的にこのファイルを探します。
~/virtualenv/bin
しかし、おそらくそれを前にしてPATH
Pythonスクリプトを#!/usr/bin/env python
最初の行に変更する方が簡単かもしれません。
答え2
エイリアスファイル~/.bash_alias”、これをスクリプトに入れます。
#!/bin/bash
shopt -s expand_aliases
source ~/.bash_aliases
python run-project.py
(渡す)
答え3
または、いつでもsource
スクリプトでエイリアスを強制することができます。たとえば、rm
次にエイリアスがあるとします~/.bashrc
。
alias rm='moveToTrash'
whilemoveToTrash
はあなたのものです/usr/bin
。これで、次のスクリプトがありますtest.bash
。
#!/bin/bash
which rm
直接実行すると、test.bash
出力を表示して出力を取得できます/bin/rm
。source test.bash
alias rm='moveToTrash'
/usr/bin/moveToTrash