为了账号安全,请及时绑定邮箱和手机立即绑定

语句解释?!

echo $pass | /usr/bin/passwd -- stdin $name$i
大家帮忙解释一下这句。主要是管道符 | 和 --stdin $name$i 的顺序
谢谢!


正在回答

8 回答

我尝试了一下,在Ubuntu下passwd命令是不支持 --stdin 参数的,查下资料说在debian上就不再支持了,不知道你的是不是Ubuntu系统呢?

我尝试了在CentOS上没有问题,当然Ubuntu上可以通过下面的命令代替:

echo "$name$i:$pass" | chpasswd &> /dev/null


0 回复 有任何疑惑可以回复我~
#1

dearestx 提问者

噢。我在CentOS上,按照老师的教程中,原语句执行不了。 你给出的语句:echo "$name$i:$pass" | chpasswd &> /dev/null 也不能执行。
2016-01-07 回复 有任何疑惑可以回复我~
#2

dearestx 提问者

我知道了,问题解决了。 我忘记之前添加用户,就直接设置密码,也是醉了,好低级的错误! 谢谢你细心的回答!
2016-01-07 回复 有任何疑惑可以回复我~
#3

iliul 回复 dearestx 提问者

解决了就好,下次提问时记得把错误信息贴出来,这样解决的快而准!
2016-01-08 回复 有任何疑惑可以回复我~
查看1条回复

然后应该怎么执行呢?抱歉我还是有点看不懂啊。

0 回复 有任何疑惑可以回复我~

设置密码的时候不能成功设置;但是用户已经创建了~

0 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//568e2ea60001f75b07410388.jpg

系统版本,定义的变量,执行视频中的语句,执行结果用户并没有添加成功

0 回复 有任何疑惑可以回复我~

http://www.imooc.com/video/7968

http://img1.sycdn.imooc.com//568ceafe00014b9d10050590.jpg

无法成功执行此句!

0 回复 有任何疑惑可以回复我~

如果

/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

0 回复 有任何疑惑可以回复我~
#1

dearestx 提问者

管道符我懂。 --stdin 是这样的格式,上面打的时候分开了。 就是长选项 -- 。 (短选项只有一个减号) 所以是这样: echo $pass | /usr/bin/passwd --stdin $name$i PS: 命令: passwd 用户名 然后,提示你输入密码 所以,我能理解的是:passwd 给用户 $name$i 设置密码为 echo $pass 的输出, 而设置密码的时候要手动输入密码,所以用 --stdin 把密码传入 有点乱~
2016-01-06 回复 有任何疑惑可以回复我~

没有看懂后面 

-- stdin $name$i

这段,补充完整吧,包括这几个参数,管道符号 |  前面的命令结果会作为后面的输入,也就是

echo $pass

的结果。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

语句解释?!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信