亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2188 | 回復(fù): 5
打印 上一主題 下一主題

關(guān)于expect shell的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-02-02 14:21 |只看該作者 |倒序?yàn)g覽
原本一個(gè)自動(dòng)ftp腳本,采用的是.netrc中加用戶名和密碼自動(dòng)登陸的方式。
但是目前因?yàn)榘踩,需要改成sftp的。sftp本身又不能用.netrc。對(duì)方服務(wù)器只開放了端口,用不肯采用pubkey認(rèn)證方式,所以再三考慮,可能只能用expect shell了。
但是expect shell 不太懂啊。是不是一定要在第一行加上#!/usr/local/bin/expect才能運(yùn)行相關(guān)的spawn,expect等命令,那我怎么才能將其于原本的自動(dòng)ftp結(jié)合在一起呢?

比如,原來腳本中:
sftp test@remotehost <<END
cd input
mput *
END
該怎么改

論壇徽章:
1
巨蟹座
日期:2014-06-04 13:33:30
2 [報(bào)告]
發(fā)表于 2010-02-02 18:01 |只看該作者
本帖最后由 xiaobaibbb 于 2010-02-02 18:02 編輯

ruby or perl 現(xiàn)成的,非要expect那是沒事找事。
  1. root@debian:~/perl# cat ssh.ruby
  2. #!/usr/bin/ruby
  3. require 'net/ssh'
  4. require 'net/sftp'
  5. Net::SSH.start('server', 'username', 'password') do |ssh|
  6.    ssh.sftp.connect do |sftp|
  7.      Dir.foreach('.') do |file|
  8.        puts file
  9.      end
  10.    end
  11. end
復(fù)制代碼

  1. root@debian:~/perl# cat ssh.perl
  2. #!/usr/bin/perl
  3. use Net::SSH::Perl;
  4. my $ssh = Net::SSH::Perl->new($server);
  5. $ssh->login($user, $passwd);
  6. my($stdout, $stderr, $exit) = $ssh->cmd($cmd);
復(fù)制代碼

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-02-02 19:50 |只看該作者
以前寫的,自己改下吧

  1. #!/bin/bash
  2. password=abc
  3. expect -c "
  4.         spawn -noecho su - root -c \"date >> /data/cron_expect.log\"
  5.         expect \"assword:\"  { send \"$password\n\" }
  6.         expect eof
  7.         exit
  8. "
復(fù)制代碼

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-02-03 09:54 |只看該作者
回復(fù) 3# Celinde

3樓,我用你的方式寫了一個(gè),可以登陸,但是不能傳東西,不知道啥原因
#!/usr/bin/bash
/usr/local/bin/expect -c "
        spawn -noecho sftp test@remotehostname  
        expect \"password: \" { send \"test\n \"  }
        expect \"sftp> \" { send \"mput *\n\" }
"

輸出如下:
-bash-3.00# ./tstexpect.sh
Connecting to 172.22.231.206...
test@172.22.231.206's password:
sftp> -bash-3.00#

沒有報(bào)錯(cuò), 但是文件沒有傳送。

此外,2樓的,我沒有學(xué)過c語言,所以太復(fù)雜的編程結(jié)構(gòu)我完全不了解。

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報(bào)曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
5 [報(bào)告]
發(fā)表于 2010-02-03 10:32 |只看該作者
回復(fù) 4# zhoujm1976

還沒傳輸時(shí)腳本已經(jīng)結(jié)束了,send命令以后需要再次expect

你可以用 autoexpect 自動(dòng)生成一個(gè)腳本參考一下

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-02-03 15:58 |只看該作者
居然才發(fā)現(xiàn)有autoexpect可以自動(dòng)生成,謝謝
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP