2011-07-25 4 views
2

J'ai un script que j'essaie d'appeler et qui doit recevoir le symbole $. Si je lance le script comme

./script "blah$blah" 

il est passé en fin, mais le script appelle un autre programme que je ne contrôle pas qui étend le paramètre juste « bla ». Le programme est appelé par le programme de commande [email protected]. Je me demandais s'il y avait un moyen d'empêcher l'extension du paramètre lors de sa transmission au script suivant.

Répondre

2

deux options incluant la modification de la citation:

./script 'blah$blah' 

./script "blah\$blah" 

J'espère que cette aide.

+0

Accepter cette réponse car il est légèrement plus facile à comprendre que le premier. – bschaffer13

5
  • échapper le caractère $ avec: \, par exemple: "This will not expand \$hello"
  • usage unique citations: 'This will not expand $hello'
  • Utilisez un HERE DOC:

    <<'EOF'
    This will not expand $hello
    EOF

Dans votre cas, je recommande en utilisant des guillemets simples pour readabi lité: ./script 'blah$blah'.

2

Appel à l'aide des guillemets simples:

./script 'blah$blah' 

Ou échapper à la $

./script "blah\$blah" 
Questions connexes