bash question

Giorgos Keramidas keramida at ceid.upatras.gr
Thu Dec 17 01:34:34 EET 2009


On Thu, 17 Dec 2009 01:26:08 +0200, Tom Diamond <thdiaman at gmail.com> wrote:
> Χαιρετώ,
>
> Μήπως ξέρει κάποιος - αν υπάρχει τρόπος - να πω στο bash να αγνοεί
> παντελώς τα '\' στα command line options και να _μην_ κάνει escape
> τους χαρακτήρες;
>
> Π.χ θέλω αν τρέχω κάτι σαν "myscript la\kis lala\kis" και το myscript
> κάνει κάτι του στυλ: "echo $1" να πάρω output "la\kis" και όχι σκέτο
> "lakis"

Ναι υπάρχει τρόπος.  Χρησιμοποιείς quoting:

    bash$ echo 'la\kis' ; echo 'lala\kis'
    la\kis
    lala\kis
    bash$

Αν το κείμενο σου έρχεται από άλλες πηγές, κι είναι π.χ. στην τιμή μιας
μεταβλητής, η απάντηση είναι επίσης 'χρησιμοποιείς quoting':

    bash$ koko='la\kis'
    bash$ lala='lala\kis'
    bash$ echo "${koko}" ; echo "${lala}"
    la\kis
    lala\kis
    bash$

Οποιαδήποτε άλλη «λύση» είναι είτε λάθος ή παράγωγο του quoting.



More information about the Linux-greek-users mailing list