escaping single quotes...

Giorgos Keramidas keramida at ceid.upatras.gr
Sun Oct 16 14:34:14 EEST 2011


Καταρχήν, για οτιδήποτε χρειάζεται τέτοιο επίπεδο από quoting και pipes,
καλύτερα γράψε shell script:

% cat ~/bin/kdove
ps uxagww | grep icedove | grep -v grep | \
  awk -F" " '{print $2}' | xargs kill


Ούτε περίεργα quoting rules, ούτε πρόβλημα με ποιός έκανε quote τι, πότε,
κλπ.

Από την άλλη, όλο αυτό είναι το ίδιο με το να τρέξεις:

% pkill icedove


Οπότε δε χρειάζεται όλο το alias.

2011/10/16 Γιώργος Πάλλας <gpall at ccf.auth.gr>

>
> Καλημέρα!
>
> Προσπαθώ να γράψω στο .bash_aliases ένα μακαρόνι για να σκοτώνω το
> icedove όταν έχει κολλήσει.
>
> Δεν μου κάθεται όμως το escaping των single quotes της awk. Δοκίμασα να
> αντικαταστήσω κάθε single quote με '\'' σύμφωνα με αυτά που κατάλαβα από
> διάφορες σχετικές αναφορές στο google αλλά δεν παίζει.
>
> Καμιά βοήθεια;
>
> alias kdove='ps uxagww | grep icedove | grep -v grep | awk -F" " '{print
> $2}' | xargs kill'


alias kdove='ps uxagww | grep icedove | grep -v grep | awk -F " " '\''{print
$2}'\'' | xargs kill'

Εναλλακτικά μπορείς να χρησιμοποιήσεις " για το εξωτερικό quote-pair, και
fgrep που δεν κάνει regexp matching και μπορεί να είναι λίγο πιο γρήγορη:

alias kdove="ps uxagww | fgrep icedove | fgrep -v grep | awk -F' ' '{print
$2}' | xargs kill"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20111016/63519b4a/attachment.html>


More information about the Linux-greek-users mailing list