如何使用环境变量创建密码文件
How to create passwordfile with env variables
在我的程序中,我如何在 bash
中迭代 ENV
if [ ! -z $USER_1 ]
then
echo "$USER_1":$(openssl passwd -apr1 $PASS_1) > ./passwords
fi
if [ ! -z $USER_2 ]
then
echo "$USER_2":$(openssl passwd -apr1 $PASS_2) > ./passwords
fi
if [ ! -z $USER_3 ]
then
echo "$USER_3":$(openssl passwd -apr1 $PASS_3) > ./passwords
fi
if [ ! -z $USER_4 ]
then
echo "$USER_4":$(openssl passwd -apr1 $PASS_4) > ./passwords
fi
if [ ! -z $USER_5 ]
then
echo "$USER_5":$(openssl passwd -apr1 $PASS_5) > ./passwords
fi
等等,当我不知道 N
时,我该如何使用 N 个“用户”
编辑 4 月 14 日:我的第一个版本不完整,这是一个修复。
创建循环遍历您的用户:
#!/bin/bash
USER_1=u1
USER_2=u2
N=5
for (( counter=1; counter<=N; counter++ ))
do
username=USER_${counter}
password=PASS_${counter}
echo "DEBUG: $username"
echo "DEBUG: ${!username}"
if [[ -n ${!username} ]]
then
#echo "$username:$(openssl passwd -apr1 "$password")"> ./passwords
echo "DEBUG: USER_${counter} inside if"
fi
echo "========="
done
- 要在您的设置中使用,请注释掉调试语句并取消注释您的 openssl 行。
- 我的第一个版本没有正确使用另一个
USER_?
变量中的变量 counter
。
- 使用此特定脚本,
USER_1
和 USER_2
将触发 if
,因为 USER_3
和更多未设置。
在我的程序中,我如何在 bash
中迭代 ENVif [ ! -z $USER_1 ]
then
echo "$USER_1":$(openssl passwd -apr1 $PASS_1) > ./passwords
fi
if [ ! -z $USER_2 ]
then
echo "$USER_2":$(openssl passwd -apr1 $PASS_2) > ./passwords
fi
if [ ! -z $USER_3 ]
then
echo "$USER_3":$(openssl passwd -apr1 $PASS_3) > ./passwords
fi
if [ ! -z $USER_4 ]
then
echo "$USER_4":$(openssl passwd -apr1 $PASS_4) > ./passwords
fi
if [ ! -z $USER_5 ]
then
echo "$USER_5":$(openssl passwd -apr1 $PASS_5) > ./passwords
fi
等等,当我不知道 N
时,我该如何使用 N 个“用户”编辑 4 月 14 日:我的第一个版本不完整,这是一个修复。
创建循环遍历您的用户:
#!/bin/bash
USER_1=u1
USER_2=u2
N=5
for (( counter=1; counter<=N; counter++ ))
do
username=USER_${counter}
password=PASS_${counter}
echo "DEBUG: $username"
echo "DEBUG: ${!username}"
if [[ -n ${!username} ]]
then
#echo "$username:$(openssl passwd -apr1 "$password")"> ./passwords
echo "DEBUG: USER_${counter} inside if"
fi
echo "========="
done
- 要在您的设置中使用,请注释掉调试语句并取消注释您的 openssl 行。
- 我的第一个版本没有正确使用另一个
USER_?
变量中的变量counter
。 - 使用此特定脚本,
USER_1
和USER_2
将触发if
,因为USER_3
和更多未设置。