csh

Giorgos Keramidas keramida at ceid.upatras.gr
Fri May 4 12:57:23 EEST 2007


On 2007-05-04 11:37, thanasis <thanasis at asyr.hopto.org> wrote:
> Σε centos 5.0
> το /bin/csh είναι link στο /bin/tcsh
> ls -l /bin/csh
> lrwxrwxrwx 1 root root 4 May  2 11:55 /bin/csh -> tcsh*
> 
> Όταν δίνω την
> echo "\t\t1. menu"
> παίρνω
> \t\t1. menu
> 
> Θέτοντας:
> set echo_style=both
> και δίνοντας την παραπάνω παίρνω
>        1. menu
> (δηλ. 2 tab στη θέση των 2 \t)
> 
> Άν όμως τρέξω την εντολή μέσα από εκτελέσιμο script, δεν κρατάει την
> παραπάνω ρύθμιση.
> Τι πρέπει να κάνω για να είναι η default λειτουργία του echo όπως η
> δέυτερη, δηλ. να έχω πάντα στο περιβάλλον το set echo_style=both ;

Η μόνη Σωστή(ΤΜ) λύση είναι να σταματήσεις να γράφεις scripts με
τη μαλακία που έφτιαξε ο Bill Joy για να δοκιμάσει το job control
στο BSD UNIX.

http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/

Το POSIX sh(1) είναι πανέμορφο shell και έχει πολύ πιο προβλέψιμο
χειρισμό των quoted τιμών.

Δοκίμασέ το.  Θα με θυμηθείς στο μέλλον και δε θα σου έρχονται
βρισίδια στο νου επειδή το csh έκανε expand το λάθος 'μαγικό'
χαρακτήρα στο λάθος string μέσα στο script σου.




More information about the Linux-greek-users mailing list