Problem with ssh and checking if file exists


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with ssh and checking if file exists
# 1  
Old 01-09-2014
Problem with ssh and checking if file exists

Hi All,

I am facing a problem while checking for existence of file over ssh !

Basically, i want to ssh and check if file exists.. If file exists return 1. If file does not exits return 0 (or any value)

I am using the below code

Code:
file_avail=`ssh username@host "if [[ -f directory/structure/Daily Report.xls ]]; then exit 1; else echo exit 0; fi"`

Please note that the file name here has spaces in it !

But i am not able to retrieve the status from ssh.

Please help !!
# 2  
Old 01-09-2014
Try:
Code:
file_avail=`ssh username@host 'if [[ -f "directory/structure/Daily Report.xls" ]]; then exit 1; else echo exit 0; fi'`

# 3  
Old 01-09-2014
Hi Klashxx,

I tried ur option.

Code:
file_avail=`ssh username@host 'if [[ -f "directory/structure/Daily Report.xls" ]]; then exit 1; else exit 0; fi'`

Still i am getting the output for file_avail as NULL

Code:
+ file_avail=''

Pls let me know what i am missing here!
# 4  
Old 01-09-2014
ok , use:
Code:
file_avail=`ssh username@host 'if [[ -f "directory/structure/Daily Report.xls" ]]; then echo 1; else echo 0; fi'`

Personally , i prefer:
Code:
ssh username@host 'if [[ -f "Daily Report.xls" ]]; then exit 1; else exit 0; fi'
file_avail=$?

This User Gave Thanks to Klashxx For This Post:
# 5  
Old 01-09-2014
Thanks a lot for helping out on this Klashxx !

It worked !!!
# 6  
Old 01-09-2014
That code is rather redundant, this would do:

Code:
ssh username@host '[ -f "directory/structure/Daily Report.xls" ]'
file_avail=$?

These 2 Users Gave Thanks to Corona688 For This Post:
# 7  
Old 01-09-2014
So are we saying that SSH returns the exit code of the remote command? Remote-shell never did. You got the return code for "Did remote shell connect" pretty much, so we ended up with a fudge such that we run the remote shell commands with
Code:
rsh ${REMOTEHOST} "$COMMAND $ARGS ; echo \\"Final_RC=\\\$?\\"\""> logfile 2>&1

We then extract the one line with "Final_RC" and work out if the remote command ran okay.

It seems much better with SSH, thanks goodness! Roll on the upgrades here that make SSH available.

It's a shame we still have so much AIX 4.3.3, 5.1 and HP-UX 11.11 !! Smilie



Robin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

For loop without checking file exists

In several scripts that process files matched by name pattern I needed to add a check for file existence. Just to illustrate let's say I need to process all N??? files: /tmp$ touch N100 N101 /tmp$ l ?10 -rw-rw-r-- 1 moss group 0 Apr 19 11:22 N100 -rw-rw-r-- 1 moss group ... (10 Replies)
Discussion started by: migurus
10 Replies

2. Shell Programming and Scripting

Check if file exists via ssh in ssh (nested)

I'm using redhat and have an odd issue with a nested ssh call. ssh -i ~/.ssh/transfer-key -q transfer@fserver1 ] && ssh -i ~/.ssh/transfer-key transfer@fserver1 "ssh -i ~/.ssh/sftp-key sftpin@10.0.0.1 ]" && ssh -i ~/.ssh/transfer-key transfer@fserver1 "scp -i ~/.ssh/sftp-key /home/S/outbox/*... (2 Replies)
Discussion started by: say170
2 Replies

3. Shell Programming and Scripting

Checking if file exists and unzipping

Hey, I am new to scripting and was wondering what is wrong with this if statement. I want to check if file exists and the if it does to unzip it. I program it as follows if ; then gunzip *_filename.gz fi Thanks in advance! Please use code tags next time for your code and data. (10 Replies)
Discussion started by: mostarac2487
10 Replies

4. Shell Programming and Scripting

ssh to remote server and check if file exists

Hi everyone, I am trying to figure out a way to ssh to remote server and check if file exists, and if it doesn't I want to leave the script with an exit status of 5. I have the following that I am attempting to use, but it is not returning anything: check() { ssh ${SOURCE_SERV} "ls -l... (4 Replies)
Discussion started by: jimbojames
4 Replies

5. Shell Programming and Scripting

Checking whether the file exists under a directory and doing a diff

Hi Everyone, I am writing a shell script for the below needs and would like your suggestions and advices. I have a lot of scripting files(Shell Scripts) under the directory: /home/risk_dev/dev I have another directory which has a lot of shell scripts under the directory: ... (2 Replies)
Discussion started by: filter
2 Replies

6. Shell Programming and Scripting

what is the difference between -f and -e, when checking for file exists

Hi All, what is the difference between -f and -e. Regards, ch33ry (1 Reply)
Discussion started by: ch33ry
1 Replies

7. Shell Programming and Scripting

Checking if file exists

How can I check if a file exists in csh? I know there is "-e $file" but do not know exactly how to use it. I have tried the below but I'm getting "Bad : modifier in $ ( )." foreach f ($AfullnameLst) if (-e $f) then echo "$f: file exists" endif end (6 Replies)
Discussion started by: kristinu
6 Replies

8. Shell Programming and Scripting

Checking if file exists using a NOT operator and shell variable

Hi, I'm new to UNIX, at least shell programming and am having trouble figuring out a problem i'm having. In one section in my nested if statement, i want the program to test if the file does not exist, based on an argument supplied at the command line by the user. What i have is elif ; then... (3 Replies)
Discussion started by: rowlf
3 Replies

9. Shell Programming and Scripting

Checking if a file exists

How can I check if a file exists in shell script. Basically, I want to check if a file Test_msgs has been created today. If it has been then append data to it. Otherwise, create it. I have written the following but it does not work. todaysdate=$(date +%d%m%Y) timenow=$(date +%H%M%S)... (4 Replies)
Discussion started by: gugs
4 Replies

10. Shell Programming and Scripting

Checking the file if it exists

Hi This will be useful who is looking for checking the files in a directory #chmod 777 /cronacle/tools/teradata/opo/bin/file_check.sh SUBJECT=`echo "File Not Found"` SUBJECT1=`echo "File Found"` #RECIPIENT=Madhu.Reddy@ge.com cd /cronacle/tools/teradata/opo/bin file_list=attach.sh if ... (3 Replies)
Discussion started by: ksmbabu
3 Replies
Login or Register to Ask a Question