提示输入要存储在环境变量中的值

提示输入要存储在环境变量中的值

我想在环境变量中存储一个值,但我不想这样做VAR_NAME=secretvalue,因为这样它将存储在 shell 的历史文件中。有没有办法像那样提示我输入该值passwd

答案1

如果剪贴板中有密码,请使用xselxclippbpaste。看Bash 中有从剪贴板复制到变量的函数吗?

否则,假设秘密值不包含任何换行符(或任何控制字符或您无法键入的字符):

printf 'Password: '
IFS= read -r VAR_NAME

许多 shell 允许您将提示直接传递给read

IFS= read -p 'Password: ' -r VAR_NAME

如果您不希望秘密在您的终端上可见,请参阅在 Bash 脚本中读取密码而不显示在屏幕上。请注意,即使没有这个,一旦您清除终端,密码也不会保存在任何地方。

相关内容