[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