作者 主題: 請問perl的檔案代碼用法?  (閱讀 5623 次)

0 會員 與 1 訪客 正在閱讀本文。

Anonymous

  • 訪客
請問perl的檔案代碼用法?
« 於: 2002-05-05 11:28 »
我想用perl script改密碼,像下列,但是不成功,我是root,大大可指導一下嗎?

#!/usr/bin/perl -w
open(CHAN,"|/usr/bin/passwd");
print CHAN "test\n";
print CHAN "test\n";
close(CHAN);

我不知道是那裡錯了呢?
執行後的情形:
# ./change_passwd.pl
New UNIX password: Retype new UNIX password:
New UNIX password:
New UNIX password:
passwd: Conversation error
為何Conversation error呢?
要如何改才正確?
TKS.

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
Re: 請問perl的檔案代碼用法?
« 回覆 #1 於: 2002-05-08 09:14 »
引述: "Anonymous"
我想用perl script改密碼,像下列,但是不成功,我是root,大大可指導一下嗎?

#!/usr/bin/perl -wl
open(CHAN,"|/usr/bin/passwd --stdin");
print CHAN "test";
close(CHAN);

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
Re: 請問perl的檔案代碼用法?
« 回覆 #2 於: 2002-05-08 11:08 »
引述: "Anonymous"

#!/usr/bin/perl -w
open(CHAN,"|/usr/bin/passwd --stdin");
print CHAN "test\n";
close(CHAN);



前一篇語法太偏了,還是這樣就好了!

tony

  • 活潑的大學生
  • ***
  • 文章數: 204
    • 檢視個人資料
請問perl的檔案代碼用法?
« 回覆 #3 於: 2002-05-10 00:08 »
額外插花:
print CHAN "test\n";
為何只需print一次即可?
是不是passwd 的option --stdin設計如此?
-=-=-=
Powered by Linux
=-=-=-=-=-=-=-=-=

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
請問perl的檔案代碼用法?
« 回覆 #4 於: 2002-05-10 10:38 »
引述: "tony"
額外插花:
print CHAN "test\n";
為何只需print一次即可?
是不是passwd 的option --stdin設計如此?

這個留個你當作業!

小徒兒

  • 鑽研的研究生
  • *****
  • 文章數: 622
    • 檢視個人資料
請教一下
如何解決 . test.sh test Pa$$word! 顯示的名稱,因為$$所造成的問題
 

在test.sh
代碼: [選擇]

sudo /usr/sbin/useradd $1 -c $3
echo > ~easyflow/xxx.log
echo $2 > ~easyflow/xxx.log
echo $2 >> ~easyflow/xxx.log
sudo /usr/bin/passwd --stdin $1 <xxx.log