【问题标题】:echo smbpasswd by --stdin doesn't work--stdin 的 echo smbpasswd 不起作用
【发布时间】:2010-07-24 05:37:01
【问题描述】:

我想自动创建一个 samba 密码,但是这个命令不起作用:

echo "passwd"|smbpasswd -a -s $user

它显示了这个错误:

不匹配 - 密码未更改。 无法获取新密码。

您能否建议任何使我的脚本自动化的选项?

【问题讨论】:

    标签: shell scripting


    【解决方案1】:

    您需要重复密码,可以说是“用于确认”,例如

    printf "passwd\npasswd\n" | smbpasswd -a -s $user
    

    应该可以。

    【讨论】:

    • 同意您的观点,但请您简要介绍一下 printf 的功能在这里
    • printf 是 IEEE Std 1003.2-1992 (``POSIX.2'') 中指定的 shell 命令,它比 echo 更强大,因为它可以轻松地让您指定格式选项 -- @987654324 @(不要与 man 3 printf 混淆,后者记录了 C 标准库中的类似函数)将为您提供所有详细信息。
    【解决方案2】:

    上面的 printf 解决方案完美,但 echo -e 也很好

    echo -e "yourpass\nyourpass\n" |smbpasswd -a -s youruser
    

    【讨论】:

      猜你喜欢
      • 2012-05-20
      • 2012-02-25
      • 1970-01-01
      • 2017-01-10
      • 1970-01-01
      • 2013-11-28
      • 2013-02-01
      • 2018-07-17
      • 1970-01-01
      相关资源
      最近更新 更多