長いパスに依存する Linux コマンド マッピング

長いパスに依存する Linux コマンド マッピング

この質問が以前に別の方法で尋ねられていたら申し訳ありません。Google と StackOverFlow (SOF) で必要な検索努力をしましたが、試した検索用語では探していた答えが返されませんでした。

問題は、学校のマシンに sudo アクセス権がないため、Python virtualenv をローカル (つまり、「~/.local/」) にインストールしたことです。現在、virtualenv は「~/Download/modules/virtualenv-1.9.1/」にあり、使用しようとすると、常に次のような入力が必要になります。

$ python ~/Download/modules/virtualenv-1.9.1/virtualenv.py --distribute venv

私は次のようなことをしたいです

$ virtualenv --distribute venv

「~/.cshrc」(または bash の同等のもの) に「alias」を追加できることはわかっていますが、さらにエイリアスを追加するのではなく、これを行う別の方法があるかどうか疑問に思っています。これが繰り返しの (そして素朴な/初心者の) 質問である場合は、心からお詫び申し上げます。前に述べたように、Google/SOF で解決策を見つけるための正しい検索用語を見つけることができませんでした。ご協力ありがとうございます。

答え1

もちろん、ローカル変数を設定することもできます。これを試してみてください:

export MY_CUSTOM_VAR=/Users/YOURUSERNAMEHERE/Download/modules/virtualenv-1.9.1

$MY_CUSTOM_VARそうすれば、どのコマンドでもそのディレクトリの代わりに使用できるようになります。

答え2

おそらくスクリプトを入れるだろう~/bin/venv

#/bin/sh
exec python \
    ~/Download/modules/virtualenv-1.9.1/virtualenv.py \
    --distribute venv \
    "$@"

( で実行可能にしますchmod u+x ~/bin/venv)。

を忘れずに入力して~/binください$PATH

関連情報