Metakarakterek semlegesítése
Gyakran van szükség arra, hogy a metakaraktereket literálisan, azaz szószerint lehessen érteni, a shell ne próbálja őket interpretálni. Ennek legegyszerűbb módja, ha egyszeres idézőjelek (' ... ') közé zárva írjuk az adott metakaraktereket, ez esetben több karakter is szerepelhet az idézőjelek között. A másik megoldás, hogy a backslash karakterrel egyenként tiltjuk le a metakarakterek interpretációját. Végül a harmadik módszer, hogy idézőjelek között
(" ... ") rejtjük el a karaktereket. Utóbbi esetben viszont bizonyos interpretációkat mégiscsak végez a shell (ezekről később még lesz szó), ezért inkább az első kettő az ajánlható.
Az alábbi példában háromszor három csillagot íratunk ki az echo paranccsal, s mindhárom csoportot más-más semlegesítő módszerrel védtük le:
$ echo '***' \*\*\* "***"
*** *** ***
$
Ha az idézőjelek valamelyikét szeretnénk literálisan megkapni, akkor a másik fajta idézőjel közé zárva írjuk:
$ echo "'"
'
$
Ha újsor karaktert szeretnénk a szövegben megadni, akkor azt valamelyik idézőjelpár közé kell zárni:
$ echo 'Ladies &
> gentlemen'
Ladies &
gentlemen
$
A második sor beírásakor látható > karakter az úgynevezett másodlagos prompt (secondary prompt): ez íródik ki olyankor, amikor a parancs befejezéséhez a shell újabb szövegbevitelt vár a felhasználótól. E módszer arra alkalmas, hogy a bevitel során megőrizzük az eredeti többsoros jelleget.
Ha az újsor karaktert nem idézőjelpárok közé zárjuk, hanem a backslash karakterrel tesszük literálissá, akkor az újsor karaktert magát is eldobja a shell. Ily módon lehetőségünk van hosszú sorok bevitelére a rendszerbe:
$ echo abc\
> def\
> ghi
abcdefghi
$