Blanding Enkelt- og dobbelt Sitater i Bash

stemmer
0

Alright, jeg har et script som tar et par argumenter, går data, og deretter rsyncs dataene ut til en annen server. Problemet er at å kjøre data, jeg må ta ett av argumentene og deretter kjøre en rapport med det, noe som er meget fest uvennlige (Eks. [3023,2 <> 1], [5111,3 $] = 5, etc ).

Så hvis jeg kommer til å kjøre kommandoen, trenger jeg å sette argumentet i enkle anførselstegn, som da ville gjøre argumentet ikke bli trukket inn i den.

Dermed hvis jeg skulle kjøre skriptet ...

arg1 = [5111.3$]=5

runjob specfile.spx '$arg1'

Dette ville ikke fungere, men hvis jeg skulle kjøre den med doble anførselstegn, så er det en god sjanse for at argumentet som blir vedtatt i vil ha anførselstegn. Noen ideer om hvordan å komme seg rundt dette?

Publisert på 29/05/2009 klokken 18:04
kilden bruker
På andre språk...                            


2 svar

stemmer
0

Quote rømming. Prøve

[5111.3$]=\"5\"

Advanced Guide Scripting har en god del på sitering .

Svarte 29/05/2009 kl. 18:12
kilden bruker

stemmer
2

Bruk enkle anførselstegn rundt verdien når du setter den, og deretter bruke doble anførselstegn rundt variabelen når du utvider det:

$ arg1='[5111.3$]="5"'
$ echo "$arg1"
[5111.3$]="5"
Svarte 29/05/2009 kl. 19:56
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more