如何在单个命令中使用变量 - 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