我正在尝试使用批量设置一些用户帐户密码chpasswd。密码应随机生成并打印到stdout(我需要写下来或将它们放在密码存储区中),然后再传递到中chpasswd。
天真的,我会这样
{
  echo student1:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
  echo student2:$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13 ; echo '')
} | tee >(chpasswd)但是,我担心将新密码作为命令行参数传递给echo,因为参数通常对中的其他用户可见ps -aux(尽管我从未看到中echo出现任何行ps)。
是否有其他方法可以在返回的密码前添加一个值,然后将其传递给chpasswd?
echo是内置的Shell。它不会在过程表中显示。