Check if remote files exist (shell script)

Hello.

I've already searched, but found nothing...

I need a script that checks if remote file exists. Everything that I've found only relates to one particular file. I need to check if there are any files in a particular directory, that start by some string...

I've tried this, unsuccessfully:

if ssh -l "$USER" $POSM200 'ls "'/home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*'" >/dev/null'; then
        echo "file '"/home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*"' exists";
        exit;
else
        echo "file '"/home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*"' doesn't exist";
fi

but I got the following error:
ls: /home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*: No such file or directory
file '/home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*' doesn't exist

The problem seems to be finding a remote command that accepts wildcards.

Any help would be appreciated.
LVL 1
rmdbAsked:
Who is Participating?
 
TintinConnect With a Mentor Commented:
What you need is:
if ssh $USER@$POSM200 "ls /home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01*" >/dev/null 2>&1
then
    echo 'file /home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01* exists'
    exit
else
    echo 'file /home/tplinux/SAPiDoc/export/wpubon/processado/WPUBON01* does not exist'
fi

Open in new window

0
 
woolmilkporcCommented:
Hi,
wildcards are not your problem.
You have way too much  ' s and  " s in your ssh command.
Leave them all out and escape your asterisk with a \.
w
 
0
 
TintinCommented:
Any reason for the B grade?
0
 
rmdbAuthor Commented:
Hi,

Sorry, no reason at all. I was filling the "accept solution", and put B instead of A, I was distracted... Any chance to change it?
0
 
TintinCommented:
You have to put an admin request in.  
0
All Courses

From novice to tech pro — start learning today.