用 /etc/environment 中的输出替换命令

Replace command with its output in /etc/environment

我有脚本

   S3_AWS_SECRET_ACCESS_KEY=\`cat /tmp/decrypted | cut -d= -f2 | cut -d, -f1\`
   S3_AWS_ACCESS_KEY_ID=\`cat /tmp/decrypted | cut -d= -f3\`

我每次都想要那个

   source /etc/environment

` 和 ` 之间的命令被执行并被它们的输出替换 所以结果 /etc/environment 看起来像这样

   S3_AWS_SECRET_ACCESS_KEY=SOMEKEY
   S3_AWS_ACCESS_KEY_ID=SOMEID

那不是 /etc/environment 的工作方式。它不会被评估,当然也不会被任意 shell.

您可以随心所欲,但您需要使用 shell 启动脚本(并且不适用于非 shell 进程)。

但是请注意,除非 /tmp/decrypted 是一个短暂的文件,否则这实际上并没有什么意义 "security"(即使是,我也不知道它怎么可能对于这种用法,作为 "security" 度量,它仍然没有真正的意义。