Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Mam taki skrypt
#!/bin/sh zm="\" TEST TEST \"TEST\" \"" echo ${zm} TT=`echo ${zm} | tr -s '\"' '||'`
Na koniec dostaję tylko
" TEST TEST "TEST" " | TEST TEST |TEST| |
a chciałbym aby bylo
" TEST TEST "TEST" " || TEST TEST ||TEST|| ||
a najlepiej jak by
" TEST TEST "TEST" " \" TEST TEST \"TEST\" \"
Offline
djjanek napisał(-a):
a najlepiej jak by
Kod:
" TEST TEST "TEST" " \" TEST TEST \"TEST\" \"
#!/bin/sh zm="\" TEST TEST \"TEST\" \"" echo ${zm} echo ${zm} | sed 's:":\\":g'
PS Wynocha do Programowania.
Ostatnio edytowany przez azhag (2009-06-04 09:42:03)
Offline
Jesteś pewien że potrzebujesz mieć zmienną z cudzysłowami poprzedzonymi odwróconym ukośnikiem? Bo na oko próbujesz obejść całkiem popularny błąd podczas programowania powłoki, ale zabierasz się do tego w zupełnie zły sposób.
PS. tr z pierwszego przykładu działa dobrze. Polecam doczytać na czym polega transliteracja aby dowiedzieć się, dlaczego wybrałeś złe narzędzie do osiągnięcia celu który sobie wyznaczyłeś.
Offline
Ok napiszę tak dostaję do zmiennej np tekst: "TESKt kjdlks jj "TESK" kkls" ale nieraz dostaje cyfry i teraz muszę to wysłać do mysql i jak daje zapytanie INSER INTO tab (war) VALUES (\"${zm}\"); to jest błąd bo mam podwójny cudzysłów.
Offline
Nic nie rozumiem.
Napisz co masz i co chcesz osiągnąć.
Offline
djjanek napisał(-a):
Ok napiszę tak dostaję do zmiennej np tekst: "TESKt kjdlks jj "TESK" kkls" ale nieraz dostaje cyfry i teraz muszę to wysłać do mysql i jak daje zapytanie INSER INTO tab (war) VALUES (\"${zm}\"); to jest błąd bo mam podwójny cudzysłów.
Użyj normalnego języka programowania z konkatekacją ciągów znaków. Bo jak zaczniesz cytować cudzysłowy, to za chwilę sam się w tym nie połapiesz.
Offline