![我如何更改可执行文件的路径?](https://linux22.com/image/1516431/%E6%88%91%E5%A6%82%E4%BD%95%E6%9B%B4%E6%94%B9%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6%E7%9A%84%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
我正在尝试将 OpenSSL 的可执行路径从“/usr/bin/openssl”更改为“/usr/local/openssl/bin/openssl”。我试过了
export PATH=/usr/local/openssl/bin/openssl:$PATH
但which openssl
命令仍然给我'/usr/bin/openssl'
如何在不替换“/usr/bin/openssl”中的 openssl 的情况下运行其他 openssl?
答案1
../bin/openssl 不是目录。
export PATH=/usr/local/openssl/bin:$PATH
答案2
/usr/bin 下的可执行文件大多是指向原始文件的符号链接。请先检查 /usr/bin/openssl 是否是指向
ls -l /usr/bin/openssl
如果它是一个符号链接(很可能是),您可以删除此符号链接(记下它指向的路径以供将来参考。您可以创建一个新的链接,如下所示:
sudo ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
如果 /usr/bin/openssl 本身是一个可执行文件,您可以执行以下操作:
sudo mv /usr/bin/openssl /usr/bin/openssl2
并重复上述符号链接创建命令。这样,指向绝对路径的任何引用都不会被破坏。
答案3
我怎样才能让其他 openssl 运行而不替换 openssl
/usr/bin/openssl
?
您可以编辑路径,如@IporSircer 所述。您还可以每次将名称完全限定为可执行文件,例如调用:
$ /usr/local/openssl/bin/openssl
代替
$ openssl