gpt4 book ai didi

linux - 向仅接受文件的 bash 命令提供环境变量

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:22 24 4
gpt4 key购买 nike

我正在尝试编写使用 ansible-vault 的脚本来加密基于 Linux 的系统上的文件。在这种情况下,我有一个 ansible-vault 密码用于存储为环境变量的加密,我需要使用它来加密文件。

ansible-vault 命令可以通过两种方式接受密码。一种需要手动输入密码(请参阅:--ask-vault-pass),另一种允许您将密码保存在文件中并使用该密码(请参阅:--vault-password-file)。 --ask-vault-pass 命令不适用于这种情况,因为我想避免要求用户输入。

我希望使用--vault-password-file来实现这一点。现在我的代码是:

echo ${ANSIBLE_VAULT_PASSWORD} > .ansible_vault_temp
ansible-vault encrypt --vault-password-file=.ansible_vault_temp --output=encrypted_file.yml decrypted_file.yml
rm .ansible_vault_temp

但是,我不喜欢创建一个文件并在两个不同的行上删除它。是否可以将 ${ANSIBLE_VAULT_PASSWORD} 传递给 ansible-vault 命令,以便该命令将其视为文件,但不会创建任何文件?

最佳答案

您可以尝试进程替换:

ansible-vault encrypt --vault-password-file=<(echo "${ANSIBLE_VAULT_PASSWORD}") --output=encrypted_file.yml decrypted_file.yml

关于linux - 向仅接受文件的 bash 命令提供环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53537345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com