Matlab....lmdown
Giorgos Keramidas
keramida at ceid.upatras.gr
Sun Dec 3 17:51:37 EET 2006
On 2006-12-03 17:38, Nikolaos Korkakakis <korkakak at gmail.com> wrote:
>On 12/3/06, Giorgos Keramidas <keramida at ceid.upatras.gr> wrote:
>>Το interaction του running environment με ένα function που θα τρέχει ως
>>'internal' command σε ένα shell-script είναι από τα πιο περίπλοκα και
>>`περίεργα' πράγματα. Έτσι το να θέσεις μια μεταβλητή με όνομα ARCH μέσα
>>σε μια shell function, μπορεί να μην έχει ακριβώς την `παρενέργεια' που
>>θέλεις. Για παράδειγμα προσπάθησε να καταλάβεις γιατί η έξοδος του
>>παρακάτω shell script είναι αυτή που είναι...
>>
>> $ cat -n foo.sh
>> 1 #!/bin/sh
>> 2
>> 3 func1 ()
>> 4 {
>> 5 ARCH=1
>> 6 }
>> 7
>> 8 func2 ()
>> 9 {
>> 10 ( ARCH=2 )
>> 11 }
>> 12
>> 13 func3 ()
>> 14 {
>> 15 ARCH=3
>> 16 }
>> 17
>> 18 func1 ; echo "ARCH=$ARCH"
>> 19 ARCH='' ; echo "ARCH=$ARCH"
>> 20 func2 ; echo "ARCH=$ARCH"
>> 21 func3 ; echo "ARCH=$ARCH"
>> $ sh foo.sh
>> ARCH=1
>> ARCH=
>> ARCH=
>> ARCH=3
>> $
>
> Oti ginete kai sthn C otan se ena "global" pointer kaneis malloc kai
> free kai to bazeis alla data panw (ektos isws apo to ARCH=" pou isws
> na 8elei ena mikro kolpo) h opws sthn Java otan paizeis me ena String.
> Kamia diafora. Ektos isws apo ta kapoia built in xarakthristika ths
> glwssas ( pq h topikothta tou (FOO = "lala" ) na einai mesa sthn
> paren8esh )
Εντελώς καμία σχέση όμως.
Για την τοπικότητα ή μη των shell vars, ο καλύτερος οδηγός είναι το
Single Unix Specification, αλλά το θέμα μας δεν είναι αυτό. Το θέμα
είναι ότι το script εξαρτάται από implementation specific συμπεριφορά
του shell, που είναι *ΚΑΚΗ* *ΙΔΕΑ*.
>> Εγώ τον έλεγχο για valid architecture θα τον έγραφα με κάτι που
>> επιστρέφει 0 on success, και μη μηδενικό return value on error, και τα
>> σχόλια δε θα τα έβαζα στο πλάι, σαν να είναι second-class citizens:
>> [...]
> Sumfwnoi. Alla an analogistw to ti uparxei kai ti mou prosferei o
> antagwnismos proswpika eimai upereuxaristhmenos.
Εξακολουθεί να είναι απαίσιο.
> Sigoura einai kafrikos o tropos pou grapsane kwdika. Alla den pauei na
> einai uperoxo to oti kapoios ekatse kai egrapse ena upotupwdes doc
Η ποιότητα στο software, και μάλιστα σε software που το ΠΛΗΡΩΣΕΣ αδρά,
δεν είναι κάτι που μπορεί να θεωρηθεί ότι στο κάνει "χάρισμα" ο software
vendor. Η ποιότητα θα πρέπει να είναι *απαίτηση* των πελατών και αν ο
vendor δεν την παρέχει, θα πρέπει να είναι έτοιμος να ακούσει κάφρικα
σχόλια για τον κάφρικο κώδικά του.
> na exei kapoios tritos ena mpousoula kai na kanei mia duo allages.
> Uparxoun kai alla scripts mesa sto paketaki me polu pio endiaferonta
> pragmatakia :-)
Το οποίο δεν αναιρεί σε τίποτα την αρχική μου πρόταση ότι υπάρχουν πολλά
"απαίσια" πράγματα εκεί μέσα. Μπορούμε να το παρατήσουμε το θέμα και να
δούμε τι θα πει ο Θάνος μετά το δεύτερο patch που του στειλα, για το
"lmdown" αυτή τη φορά;
More information about the Migrate2linux
mailing list