如何在单个命令中使用变量 - Bash
How to use a variable in a single command - Bash
ISSUE/QUESTION:
我如何 运行 针对每个用户执行此单个命令;使用 $USER 作为变量,例如在文本文件中列出。
为什么:
我正在开发一个脚本来检查 Samba 中用户的密码到期日期 3.x。
想法:
我相信某种形式的 "FOR" 函数可以工作,但我在使其生效时遇到了麻烦,我时间紧迫。
pdbedit -Lv $USER
(注意:这不是完整的命令,只是为了简化我的问题区域。)
感谢您的帮助。我明白这(应该)很简单。今天我醒来时弄错了脚什么的,因为我今天似乎无法将很多事情联系起来......
干杯
假设您已经以某种方式拥有用户数组。要遍历它们,您可以使用:
for user in "${USERS[@]}"
do
pdbedit -Lv $user
done
while read yourUser
do
pdbedit -Lv $yourUser
done < users.txt
如果 users.txt 末尾有一个空行就可以了,否则你需要另一个 echo。
if [ $yourUser ]
then
pdbedit -Lv $yourUser
fi
如果名称是文件中的单独行:
while read USER; do pdbedit -Lv "$USER"; done < input.file
ISSUE/QUESTION:
我如何 运行 针对每个用户执行此单个命令;使用 $USER 作为变量,例如在文本文件中列出。
为什么:
我正在开发一个脚本来检查 Samba 中用户的密码到期日期 3.x。
想法:
我相信某种形式的 "FOR" 函数可以工作,但我在使其生效时遇到了麻烦,我时间紧迫。
pdbedit -Lv $USER
(注意:这不是完整的命令,只是为了简化我的问题区域。)
感谢您的帮助。我明白这(应该)很简单。今天我醒来时弄错了脚什么的,因为我今天似乎无法将很多事情联系起来......
干杯
假设您已经以某种方式拥有用户数组。要遍历它们,您可以使用:
for user in "${USERS[@]}"
do
pdbedit -Lv $user
done
while read yourUser
do
pdbedit -Lv $yourUser
done < users.txt
如果 users.txt 末尾有一个空行就可以了,否则你需要另一个 echo。
if [ $yourUser ]
then
pdbedit -Lv $yourUser
fi
如果名称是文件中的单独行:
while read USER; do pdbedit -Lv "$USER"; done < input.file