Visit Our UNIX and Linux User Community


How to find whether a particular command has failed inside an sftp script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to find whether a particular command has failed inside an sftp script?
# 1  
Old 09-19-2013
How to find whether a particular command has failed inside an sftp script?

hi,

how can i know whether a command inside an sftp script has failed or not?

i have a sftp expect script
Code:
#!/usr/bin/expect
spawn /usr/bin/sftp abc@ftp.abc.com
expect "sftp>"
send "cd dir\r"
expect "sftp>"
send "mput abc.txt\r"
expect "sftp>"
send "mput def.xls\r"
expect "sftp>"
send "bye\r"
expect eof

suppose there is no directory named "dir" in sftp remote server, then the command at line 4 i.e. cd dir will fail and the script should not proceed further.
how can i do this?
# 2  
Old 09-19-2013
Code:
expect {
  "550 dir: No such file or directory" {send "quit\n" ; exit }
  "250 CWD command successful" {exp_continue}
}

# 3  
Old 09-19-2013
Quote:
Originally Posted by MDominok
Code:
expect {
  "550 dir: No such file or directory" {send "quit\n" ; exit }
  "250 CWD command successful" {exp_continue}
}

where should i add this code block? and how it works??
# 4  
Old 09-19-2013
Right after the
Code:
send "cd dir\r"

You probably have to adjust the "550 .." and "250 CWD..." to your servers response as well.

This works like case/switch. You could add even more "cases".
# 5  
Old 09-24-2013
Quote:
Originally Posted by MDominok
Right after the
Code:
send "cd dir\r"

You probably have to adjust the "550 .." and "250 CWD..." to your servers response as well.

This works like case/switch. You could add even more "cases".
I am not getting how to adjust the return codes. can you give me an example how to do that.. modify the above sample script given by me.
# 6  
Old 09-24-2013
Not a trick question; simply change the text to match the exact text your sftp server sends when you do those commands manually...

Previous Thread | Next Thread
Test Your Knowledge in Computers #330
Difficulty: Easy
The first dual-core CPU was the Intel Pentium D.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How to write a Boolean variable which succeed and failed inside the if loop in shell script ?

I have if loop with multiple variable value check in if loop. How can i print only if loop satisfied variable and its value in shell script ? I dont want to check each variable in if loop. That makes my script larger. if ] then echo "Only satisfied variable with value" ... (3 Replies)
Discussion started by: prince1987
3 Replies

2. Shell Programming and Scripting

Script to find Error: rpmdb open failed on list of servers

Hello all, I have a task to patch red hat servers and some servers have a corrupted rpm database and return the error: Error: rpmdb open failed I know how to fix this when it occurs. What I'm hoping to do is scan a list of servers by IP and report back which server have this error. ... (6 Replies)
Discussion started by: greavette
6 Replies

3. Shell Programming and Scripting

Variable inside -name option for find command

Hi, I am not able to get output for find command if there are variables defined inside -name option . Please check below example 1) ###VARIABLES DEFINED process="fast" temperature="125c" voltage="0p935v" 2) I don't get output for below find command find -L <PATH> -type f \( -name... (2 Replies)
Discussion started by: gujrathinr
2 Replies

4. UNIX for Dummies Questions & Answers

command to find cksum of all files inside a directory?

I did this: ls -lrRt | grep ^* | cksum * but it is showing cksum of sub-directories. Thanks You Please use code tags when posting data and code samples, thank you. (3 Replies)
Discussion started by: ezee
3 Replies

5. Shell Programming and Scripting

SFTP-how to log individual sftp command error while executing shell script

Hi, I have situation where i need to automate transferring 10000+ files using sftp. while read line do if ; then echo "-mput /home/student/Desktop/folder/$line/* /cygdrive/e/folder/$line/">>sftpCommand.txt fi done< files.txt sftp -b sftpCommand.txt stu@192.168.2.1 The above... (1 Reply)
Discussion started by: noobrobot
1 Replies

6. AIX

AIX ftp/sftp script monitor to failed logins

Hi All, Any idea on how to write a script on AIX 5.3 to monitor ftp or sftp login failed. Thanks and more power, Itik (2 Replies)
Discussion started by: itik
2 Replies

7. Shell Programming and Scripting

Need help! command working ok when executed in command line, but fails when run inside a script!

Hi everyone, when executing this command in unix: echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error. here is content of my script: tdbsrvr$ vi hc.sh "hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies

8. Solaris

Command to find the failed disks in SVM and VxVM

How to find & replace bad disks in solaris & VXVM?plz explain step by step? (2 Replies)
Discussion started by: xtreams
2 Replies

9. AIX

SFTP Failed---Request for subsystem 'sftp' failed on channel 0

Hi, While I am trying SFTP my machine to another unix machine , it was working fine till 10 min back. But now i am getting the below error "Request for subsystem 'sftp' failed on channel 0" Could you please someone help me to solve or analyise the root cause... Cheers:b:, Mahiban (0 Replies)
Discussion started by: mahiban
0 Replies

10. Solaris

How to delete Directory and inside files using Find command

I am using the following Command to delete Directory with contents. But this command is deleting inside files only not directories. is there any change need in my command? find -type f -mtime +3 -exec rm -r {} \; Thanks (3 Replies)
Discussion started by: bmkreddy
3 Replies

Featured Tech Videos