2015-02-23 104 views
-1

我已经写过希望ftp连接的脚本和shell脚本。您能告诉我哪个更好或更快吗?在linux中,#!/ bin/bash和#!/ bin/expect有什么区别?

这expect脚本

expect << EOF 
spawn sftp xxx.xxx.xxx.xxx 
expect "User Name :" 
send "username\r" 
expect "password:" 
send "password\r" 
expect "sftp> " 
send "cd in\r" 
expect "sftp> " 
send "mkdir $current_date_$pharmacy_code\r" 
expect "sftp> " 
send "cd $current_date_$pharmacy_code\r" 
expect "sftp> " 
send "put $1\r" 
expect "sftp> " 
send "exit\r" 
EOF 

Shell脚本

sftp $host << EOF 
quote USER $user 
quote PASS $password 
cd in 
mkdir $current_date_$pharmacy_code 
cd $current_date_$pharmacy_code 
put $1 
exit 
EOF 

回答

0

它们与不同的库不同的语言。

Expect是一个用于Tcl的库,它们都可以在各种操作系统上运行。

Bash是Linux的标准命令解释程序,在许多其他操作系统上通常不会找到。

至于哪个更快,定时看看。然而,速度本身可能并不是唯一的相关标准:错误处理,可靠性,可维护性,可移植性等可能是选择实现的更大因素。

+0

Git有一个很酷的bash shell用于windows。像命令窗口运行,但有Linux命令。 – 2015-02-23 04:44:51

+0

除了可以在MS Windows上使用(通过git和cygwin),bash也常用于Mac OSX。 – John1024 2015-02-23 05:13:04

相关问题