[ELECTRON] Shell Scripting help? "test: [-d: unary operator expected"

Ben Rush orionrush at gmail.com
Sun Jun 14 15:46:07 UTC 2009


Simon - your a gem

there was a few syntax errors in what I was doing -

here is the corrected version:
note the spaces between the brackets [ EXAMPLE ]
and 'test' was removed as its not needed.

now onto my "unexpected end of line"
cheers,
Ben

 #File Locations!
location_Parent=~/Documents/sight_of_sound
location_IMG=~/Documents/Sight_of_sound/IMG
location_AUD=~/Documents/Sight_of_sound/AUD

if  [ -d "$location_Parent" ]
then
echo "Parent Directory OK"
else
    echo "Error: Parent directory does not exist. Creating directory"
    mkdir $location_Parent
fi

if [ -d "$location_IMG" ]
 then
    echo "IMG Directory OK"
else
    echo "Error: IMG directory does not exist. Creating directory"
    mkdir $location_IMG
fi

if [ -d ""$location_AUD"" ]
then
    echo "AUD Directory OK"
else
    echo "Error: AUD directory does not exist. Creating directory"
    mkdir $location_AUD
fi




2009/6/14 Simon Yuill <simon at lipparosa.org>

> Hi Ben,
>
> This bit of Python will do the dame job for you, if you can use Python
> for your scripts:
>
>
> def validateFilePath(filepath, create=False, isDirectory=False):
>        """
>        Converts C{filepath} to absolute form, expanding the
>        user if necessary,and tests if it exists.  If the
>        directory, or any sub-directory in the path
>        does not exist, can optionally create it (off by default).
>
>        Returns validated path.  If C{create} is set to false,
>        and the path does not exist, returns C{None}.
>        """
>        absfilepath = os.path.abspath(os.path.expanduser(filepath))
>        if filepath[-1] == '/':absfilepath = absfilepath + '/'
>        if not isDirectory:dirpath = os.path.dirname(absfilepath)
>        else:dirpath = absfilepath
>        if os.path.exists(dirpath):return absfilepath
>        if create:
>                os.makedirs(dirpath)
>                return absfilepath
>        else:return None
>
>
> best wishes
> Si
>
>
> Ben Rush wrote:
> > Im trying to check if a series of directory exists and if not create
> > them, and am having issues. All the instances of test return with the
> > error "test: [-d: unary operator expected" . Searching around I see that
> > if the variable is in double quotes its solves the problem - but for
> > some reason, not for me. The script still makes the directories if the
> > don't exists, however if they DO - it still tries to create them.
> >
> > What noob things am I doing wrong here?
> >
> > This is just one small but of my puzzle - if there is anybody
> > knowledgeable in shell scripting that could give me a few hours to in
> > the next day or so - I'd be happy to pay for your time.
> >
> > Cheers,
> > Ben Rush
> >
> > [code]
> > #!/bin/bash
> > location_Parent=~/Documents/sight_of_sound
> > location_IMG=~/Documents/Sight_of_sound/IMG
> > location_AUD=~/Documents/Sight_of_sound/AUD
> >
> > if test [-d "$location_Parent"]
> > then
> > echo "Parent Directory OK"
> > else
> >     echo "Error: Parent directory does not exist. Creating directory"
> >     mkdir $location_Parent
> > fi
> >
> > if test [-d "$location_IMG"]
> >  then
> >     echo "IMG Directory OK"
> > else
> >     echo "Error: IMG directory does not exist. Creating directory"
> >     mkdir $location_IMG
> > fi
> >
> > if test [-d "$location_AUD"]
> > then
> >     echo "AUD Directory OK"
> > else
> >     echo "Error: AUD directory does not exist. Creating directory"
> >     mkdir $location_AUD
> > fi
> > [/code]
> >
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > members mailing list
> > members at electronclub.org
> > http://lists.electronclub.org/cgi-bin/mailman/listinfo/members
> >
> > Instructions for changing your mailing list settings:
> > http://lists.electronclub.org/emailhowto.html
>
> _______________________________________________
> members mailing list
> members at electronclub.org
> http://lists.electronclub.org/cgi-bin/mailman/listinfo/members
>
> Instructions for changing your mailing list settings:
> http://lists.electronclub.org/emailhowto.html
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.electronclub.org/pipermail/members/attachments/20090614/be928d51/attachment.htm>


More information about the members mailing list