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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundację Dzieciom „Zdążyć z Pomocą”.
Więcej informacji na dug.net.pl/pomagamy/.

#1 2019-04-06 20:38:01

andrewdre
Użytkownik
Zarejestrowany: 2014-12-19

Cygwin polecenie "echo" wewnątrz polecenia "bash -c" znaki specjalne

Witam!
W c++ pobieram schowek i szyfruje za pomocą OpenSSL

Kod:

"C:/cygwin64/bin/bash -c \"C:/cygwin64/abin/echo.exe '" +  schowek + "' | C:/cygwin64/bin/openssl.exe enc -e -aes-256-cbc -md sha512 -pbkdf2 -iter 1000 -a -salt -pass file:G:/abc/abc5\""

Niestety problemem pojawia się gdy w schowku jest np. cudzysłów lub dolar.
Polecenie:

Kod:

"C:/cygwin64/bin/echo.exe '" +  schowek + "'"

działa bez zarzutu. Próbowałem już wiele kombinacji proszę o pomoc. Rozwiązanie jest pewnie banalne ;)

Edit:
Przykładowo :

Kod:

echo '"'

działa, ale

Kod:

bash -c "echo '"'"

już nie.

Ostatnio edytowany przez andrewdre (2019-04-06 21:13:34)

Offline

 

#2 2019-04-07 08:57:55

arecki
Użytkownik
Skąd: 44 Bronson Lane Hensonville
Zarejestrowany: 2016-03-03

Re: Cygwin polecenie "echo" wewnątrz polecenia "bash -c" znaki specjalne

Kod:

bash -c 'echo \"'

Offline

 

#3 2019-04-07 12:59:28

andrewdre
Użytkownik
Zarejestrowany: 2014-12-19

Re: Cygwin polecenie "echo" wewnątrz polecenia "bash -c" znaki specjalne

Dzięki za odpowiedź, ale to nie pomaga w przypadku schowka, musiałbym zamieniać znaki w pobranym schowku. Może jest jakieś obejście by "echo" (może być printf -  "bash -c 'printf %s'"  również nie działa tak jak powinno) poprzedzone poleceniem "bash -c" działało "normalnie".

Ostatnio edytowany przez andrewdre (2019-04-07 13:06:30)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)