Lek*_*eyn 4 shell environment-variables
如果gpg-agent被执行,它会输出可以被shell直接处理的数据,例如:
SSH_AUTH_SOCK=/tmp/ssh-apeOFqMF3292/agent.3292; export SSH_AUTH_SOCK;
SSH_AGENT_PID=3293; export SSH_AGENT_PID;
echo Agent pid 3293;
Run Code Online (Sandbox Code Playgroud)
为什么gpg-agent要这样做?我见过更多的程序这样做。过去的shell不支持export var=val吗?哪些 shell 不支持这种内置的替代 shell?
我正在 Kubuntu 中使用 bash。
gee*_*aur 12
传统的 Bourne shell 不支持组合它们(尽管 System V 允许您省略;; 4.2BSD / SunOS shell 不支持)。它是由 Korn shell 添加的(将 Bourne shellexport与csh's交叉setenv),随后被其他 shell 和 POSIX.2 采用。许多商业 Unix 仍然将 Bourne shell 的 System V 变体作为 提供/bin/sh,因此保持兼容性对于可移植性来说是一个好主意。