Sé que mi pregunta puede parecer estúpida, pero hay un problema con el que he estado luchando durante los últimos 2 días.
Tengo algunas versiones de OpenSSL instaladas en el servidor Ubuntu.
El que se desea se encuentra en/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
Lo que quiero hacer es que cuando escribo openssl
prácticamente cualquier directorio, vaya a la última versión y ejecute los comandos de openssl respectivamente.
¿Cómo puedo hacer eso? Intenté configurar una variable de entorno llamada openssl
pero no tuve suerte.
export OPENSSL=/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
Salida deecho $OPENSSL
/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
Sin suerte significa cada vez que escriboopenssl
yo obtengo
The program 'openssl' is currently not installed. You can install it by typing:
apt-get install openssl
Sé que tiene algo que ver con las configuraciones usr/openssl. Pero no recuerdo cómo lo hice la última vez :(
Por favor ayuda
Gracias de antemano.
Respuesta1
No es así como funcionan las variables de entorno. Cuando ejecutas somecommand
, el shellno le importasobre variables como $somecommand o $SOMECOMMAND. Usaría la variable de entorno solo si realmente escribieras $OPENSSL
en lugar de openssl
. Por ejemplo:
# ASDF=/opt/cprocsp/cp-openssl-1.1.0/bin/amd64/openssl
# $ASDF version
OpenSSL 1.1.0
(A algunos programas les importa, por ejemplo, los scripts Makefiles y "./configure" se escriben con frecuencia para buscar variables como $PYTHON, pero ese no es el caso general).
La única variable de entorno quepodríala ayuda en tu caso es$RUTA, que contiene una lista de directorios para buscar comandos. Si coloca el directorio que contiene 'openssl' delante del valor actual de $PATH, la ejecución openssl
siempre buscará primero en ese directorio:
PATH="/opt/cprocsp/cp-openssl-1.1.0/bin/amd64:$PATH"
Por ejemplo:
# 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