環境変数「openssl」を作成するにはどうすればいいですか

環境変数「openssl」を作成するにはどうすればいいですか

私の質問が愚かに聞こえるかもしれないことは承知していますが、ここ 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

関連情報