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

Seb Bacon seb.bacon at gmail.com
Sun Jun 14 17:15:30 UTC 2009


Also, you don't need to check for the existence of the parent
directory; you can just do this:

$ mkdir -p ~/Documents/Sight_of_sound/IMG

Seb

2009/6/14 Ben Rush <orionrush at gmail.com>:
> 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
>
>
> _______________________________________________
> 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
>
>



-- 
skype: seb.bacon
mobile: 07790 939224



More information about the members mailing list