亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

語句解釋?!

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.xianlaiwan.cn/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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號