echo $pass | /usr/bin/passwd -- stdin $name$i 大家帮忙解释一下这句。主要是管道符 | 和 --stdin $name$i 的顺序 谢谢!
我尝试了一下,在Ubuntu下passwd命令是不支持 --stdin 参数的,查下资料说在debian上就不再支持了,不知道你的是不是Ubuntu系统呢?
我尝试了在CentOS上没有问题,当然Ubuntu上可以通过下面的命令代替:
echo "$name$i:$pass" | chpasswd &> /dev/null
然后应该怎么执行呢?抱歉我还是有点看不懂啊。
设置密码的时候不能成功设置;但是用户已经创建了~
系统版本,定义的变量,执行视频中的语句,执行结果用户并没有添加成功
http://www.imooc.com/video/7968中
无法成功执行此句!
如果
/usr/bin/passwd -- stdin $name$i
这样写,--叫做选项结束符,好像是这个意思,代表命令选项到此结束,来个例子。
root@iliul-PC:~# mkdir -- -l root@iliul-PC:~# mkdir -l mkdir:无效选项 -- l Try 'mkdir --help' for more information. root@iliul-PC:~#
如果不加 -- 就会把-l当做option
没有看懂后面
-- stdin $name$i
这段,补充完整吧,包括这几个参数,管道符号 | 前面的命令结果会作为后面的输入,也就是
echo $pass
的结果。