sed, bash - zmiana jednego wiersza
: 19 grudnia 2011, 13:29
W pliku xml są między innymi linie:
Używam polecenia sed w skrypcie:
i nic się nie dzieje.
Co tu robię źle?
Natomiast jak wpisuję to z ręki w konsoli to działa. Dlaczego w skrypcie to nie hula?
To co działa z ręki w konsoli:
[edycja]
Rozwiązanie (tragiczne moim zdaniem) - jeśli ktoś zaproponuje ładniejsze to będzie fajnie
Kod: Zaznacz cały
<bss>wlan0bssvap1</bss>
<wep-default-key>1</wep-default-key>
<wep-key-length>104</wep-key-length>
<wep-key-ascii>no</wep-key-ascii>
<wpa-personal-key>random01</wpa-personal-key>
<security>wpa-personal</security>
Kod: Zaznacz cały
#!/bin/bash
PASS_OLD="random01"
PASS_NEW="00-01-20"
sed -i 's/$PASS_OLD/$PASS_NEW/' /srv/tftp/config.xml
Co tu robię źle?
Natomiast jak wpisuję to z ręki w konsoli to działa. Dlaczego w skrypcie to nie hula?
To co działa z ręki w konsoli:
Kod: Zaznacz cały
sed -i 's/random01/00-00-00/' /srv/tftp/config.xml
Rozwiązanie (tragiczne moim zdaniem) - jeśli ktoś zaproponuje ładniejsze to będzie fajnie
Kod: Zaznacz cały
#!/bin/bash
PASS_OLD="random01"
PASS_NEW="00-01-20"
echo "sed -i 's/$PASS_OLD/$PASS_NEW/' /srv/tftp/config.xml" > ./plik
bash ./plik