BASH, why is so F***king difficult

Harris Kosmidhs hkosmidi at laboratorium.gr
Mon Nov 12 20:44:26 EET 2007


Πάντα με παίδευε το 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;

ευχαριστώ...




More information about the Linux-greek-users mailing list