如何使用 sh 脚本将输入发送到程序



我写了一个脚本,我认为当程序请求输入时,它会将输入发送到终端。我为此使用回声。

password=open1234
for I in "a" "b" "c" "d" "e" "f" "g"
do
    passwd ${I}
    echo ${password}
done

这基本上是程序的形式。如您所见,我正在尝试使用脚本更改多个用户的密码。问题是来自 echo 的输入永远不会发送到 passwd 程序。

如此处所述,您必须将--stdin选项添加到passwd .

echo "${password}" | passwd "${I}" --stdin

只需使用(它会将所有用户更改为相同的密码):

#!/bin/bash
script='
passwd $user <<PASS
open1234
open1234
PASS
'
for user in $(cat user.txt)
do
   $script
done

相关内容

  • 没有找到相关文章

最新更新