BASH, why is so F***king difficult

Spiros Georgaras sng at hellug.gr
Mon Nov 12 20:58:17 EET 2007


On Monday 12 November 2007 Harris Kosmidhs wrote:
> Πάντα με παίδευε το bash. Αλλά τώρα έχω μπροστά μου και manual και πάλι
> δε βγάζω άκρη...
>
> Έχω σε ένα φάκελο τους παρακάτω φακέλους:
> Cocteau Twins__Milk_and_kisses
> Muse-Black.Holes.and.Revelations
> Nick_Cave__The First Born Is Dead
> PinkFloyd__Momentary_lapse_of_reason
> PorcupineTree__Yellow_Hedgerow_Dreamscape
> Radiohead__In_rainbows
> RichardWright__Wet_dream
> Tuxedomoon__Divine
>
> Και το εξής script:
>
> #!/bin/bash
>
> until [ -z "$1" ]
> do
>   dir="$1 "
>   #chmod 755 $dir
>   if [ -x ${dir} ];then
>   		echo $dir
>   	fi
>
>   	shift
> done
>
> Το τρέχω και μου βγάζει:
> hkosmidi at desktop:~/mp3$ ./convert.sh *
> ./convert.sh: line 7: [: Cocteau: binary operator expected
> convert.sh
> convert.sh~
> Muse-Black.Holes.and.Revelations
> ./convert.sh: line 7: [: too many arguments
> PinkFloyd__Momentary_lapse_of_reason
> PorcupineTree__Yellow_Hedgerow_Dreamscape
> Radiohead__In_rainbows
> RichardWright__Wet_dream
> Tuxedomoon__Divine
>
> Γιατί; Το dir το όρισα με τα κενά μέσα κάνοντας quoting με "".
> Αν κάνω if [ -x "${dir}" ];then τότε δεν τυπώνεται τίποτε.
>
> Τι στο καλό φταίει; Γιατί είναι τόσο δύσκολο να διαχειριστεί το bash τα
> κενά στα filenames;
>
> ευχαριστώ...

Για δοκίμασέ το έτσι:

#!/bin/bash

until [ -z "$1" ]
do
  dir="$1"
  #chmod 755 $dir
  if [ -x "$dir" ];then
    echo "$dir"
  fi
  shift
done

-- 
Φιλικά
Σπύρος

_________________________________________________________________________________
Ξέρετε πότε να λέγει ο καθείς «εγώ»; όταν αγωνιστεί μόνος του και φκιάσει
ή χαλάσει, να λέγει «εγώ»· όταν όμως αγωνίζονται πολλοί και φκιάνουν,
τότε να λένε «εμείς». Είμαστε στο «εμείς» κι όχι στο «εγώ».

--
gpg key URL: http://members.hellug.gr/sng/gpg-kde-el.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20071112/dd37ea56/attachment.pgp>


More information about the Linux-greek-users mailing list