私の質問が愚かに聞こえるかもしれないことは承知していますが、ここ 2 日間、私はある問題と格闘しているのです。
Ubuntu サーバーに OpenSSL のいくつかのバージョンがインストールされています。
希望するものは次の場所にあります/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
私がやりたいのは、openssl
事実上どのディレクトリに入力しても、最新バージョンに移動して、それぞれ openssl コマンドを実行することです。
どうすればいいですか? という環境変数を設定しようとしましたopenssl
が、うまくいきませんでした。
export OPENSSL=/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
出力echo $OPENSSL
/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
運が悪ければ、私が入力するたびにopenssl
私は
The program 'openssl' is currently not installed. You can install it by typing:
apt-get install openssl
usr/openssl の設定に関係があることはわかっています。でも、前回どうやってやったかは覚えていません :(
助けてください
前もって感謝します。
答え1
環境変数はそうは機能しません。 を実行するとsomecommand
、シェルは構わない$OPENSSL
$somecommand や $SOMECOMMAND のような変数について。の代わりに実際に入力した場合にのみ環境変数が使用されますopenssl
。例:
# ASDF=/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
# $ASDF version
OpenSSL 1.1.0
(一部のプログラムは気にします。たとえば、Makefile や「./configure」スクリプトは、$PYTHON などの変数を探すために頻繁に作成されますが、これは一般的なケースではありません。)
唯一の環境変数はできたあなたの場合の助けは$PATHには、コマンドを検索するディレクトリのリストが含まれています。現在の $PATH 値の前に 'openssl' を含むディレクトリを置くと、実行時にopenssl
常に最初にそのディレクトリが検索されます。
PATH="/opt/cprocsp/cp-openssl-1.1.0/bin/amd64:$PATH"
例えば:
# which openssl
/usr/bin/openssl
# export PATH="/opt/cprocsp/cp-openssl-1.1.0/bin/amd64:$PATH"
# which openssl
/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl