Для
$ eval `ssh-agent -s`
Чтобы конструкция работала в «сценарии запуска», ваш сеанс и, в конечном счете, терминал, в котором вы ожидаете среду, должны быть потомками (по fork
иexec
)этого сценария. Причина в том, что вывод ssh-agent -s
при оценке устанавливает среду переменные в оболочке, вызывающей eval
. Сформировавшись там, они могут быть переданы по наследству, а также могут быть потеряны в пути.
Таким образом, если ssh-agent
запускается сценарием A где-то во время входа в систему, но терминал B, в котором вы запускаете сценарий оболочки, не является потомком A, то вы не можете видеть окружение в B.
Если вы запустили ssh-agent
как службу systemd --user
, тогда вам, возможно, придется использовать вместо этого соглашение :Не позволяйте ssh-agent
указать переменные, но использовать общие знания при запуске агента и при запуске сеанса. например, мой ~/.config/systemd/user/ssh-agent.service
выглядит так:
[Unit]
Description=SSH agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
А в моем ~/.profile
у меня есть строчка
export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
Обратите внимание, что %t
в первом соответствует ${XDG_RUNTIME_DIR}
в последний.
Примечание:Я не в восторге от этого!
Установив java, перейдите в каталог tomcat/bin
и выполните эту команду:
./version.sh
Вывод будет в этом формате:
Using CATALINA_BASE: /opt/tomcat/apache-tomcat-9.0.33
Using CATALINA_HOME: /opt/tomcat/apache-tomcat-9.0.33
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-9.0.33/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/apache-tomcat-9.0.33/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-9.0.33/bin/tomcat-juli.jar
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Server version: Apache Tomcat/9.0.33
Server built: Mar 11 2020 09:31:38 UTC
Server number: 9.0.33.0
OS Name: Linux
OS Version: 4.18.0-147.5.1.el8_1.x86_64
Architecture: amd64
JVM Version: 11.0.6+10-LTS
JVM Vendor: Oracle Corporation