2013-05-08 14 views
8

Voglio stampare una stringa chiamata "$ 1". Ma quando lo faccio con echo stampa una stringa che equivale a una variabile "$ 1". Come posso stampare "$ 1" proprio come una stringa?

ad esempio:

set -- "output" # this sets $1 to be "output" 
echo $1   # ==> output 

Ma voglio questo:

echo $1  # ==> $1 
+0

FYI, '$ 1 = ISN output' 't sintassi effettivamente valida; Ho risolto l'esempio in realtà * lavoro * quando eseguito. :) –

risposta

17

Bisogna sfuggire alla $ di averlo dimostrato:

$ echo "\$1" 

o, come notato da jeremyp nei commenti, basta usare le virgolette singole in modo che il valore di $1 non ottenga l'ex espansi:

$ echo '$1' 
+1

o "echo" $ 1 (usa virgolette singole) – JeremyP

+0

la tua conoscenza della shell è fantastica! sei fantastico! ;) –

+1

Oh grazie @ZiyaddinSadigov, ma imparerai questo e molto altro qui in SO, è quello che mi è successo: D A presto! – fedorqui

3

devi uno:

  • racchiudere la variabile tra apici: echo '$1'
  • fuga il segno $: echo "\$1"
+0

grazie, @ carlos-campderros! –

Problemi correlati