我有一组需要密码才能工作的脚本,我对它们进行了编码,以便它们从用户输入中读取密码,而不是阅读参数或文件中读取密码,这样密码就不会保存到磁盘或显示在top上。我想启动所有这些程序,避免多次输入相同的密码。这个想法是让一个父脚本读取密码一次,然后以某种方式将其传递给所有这些脚本。首先,在父级start_all.sh脚本中:read -p "pass > " pass现在,我还不知道如何使用$pass的值来启动需要相同密码的所有子脚本。
top
start_all.sh
read -p "pass > " pass
$pass
k3bvogb11#
假设您不想将命令行上的实际密码传递给从属脚本...使用nameref的一个想法是:
$ head parent child ==> parent <== #!/usr/bin/bash stty -echo # disable echo of password value on command line read -p "pass > " pass stty echo # re-enable echo of command line typing export pass # make available to subordinate scripts child pass # pass *name* of variable containing password ==> child <== #!/usr/bin/bash declare -n newpass="$1" # define nameref echo "child/pwd: ${newpass}"
1条答案
按热度按时间k3bvogb11#
假设您不想将命令行上的实际密码传递给从属脚本...
使用nameref的一个想法是: