dopisywanie do rc.local
: 08 października 2011, 12:00
Witam.
Piszę prosty skrypt instalatora, a właściwie automatyzacji pewnych czynności. Wszystko mam już napisane świetnie działa ale pozostaje jedna czynność mianowicie dopisanie dwóch linijek do pliku rc.local. Chciałem to również zautomatyzować ale napotkałem problem. Otóż, jak wiadomo, na końcu pliku rc.local jest:
Wszystko co ma być wykonywane przy starcie musi być przed tym. Jak zatem to dopisać? Standardowo dopisuje się na końcu pliku. Nie chcę też całkowicie podmieniać czy przepisywać pliku bo ktoś może mieć już tam jakieś wpisy no i lipa.
Chciałem to zrobić w ten sposób:
Czyli odnajduje linijkę zaczynającą się od "exit" i ją usuwa następnie dopisuje zawartość pliku "autostart". Jednak nie całkiem to działa. Tzn w trakcie wykonywania czynności widać, że usuwa linijkę exit 0 ale tak jakby nie zapisywało tego bo później jest:
Jak to dobrze nadpisać? Ma ktoś jakiś pomysł?
Edycja:
Już wiem w czym był problem, sed nie zapisuje zmian w bieżącym pliku. Poprawiłem skrypt i działa już wyśmienicie.
Piszę prosty skrypt instalatora, a właściwie automatyzacji pewnych czynności. Wszystko mam już napisane świetnie działa ale pozostaje jedna czynność mianowicie dopisanie dwóch linijek do pliku rc.local. Chciałem to również zautomatyzować ale napotkałem problem. Otóż, jak wiadomo, na końcu pliku rc.local jest:
Kod: Zaznacz cały
exit 0
Chciałem to zrobić w ten sposób:
Kod: Zaznacz cały
cd /etc
sed -e '/^exit/d' rc.local | more
cat /tmp/autostart >> /etc/rc.local
Kod: Zaznacz cały
exit 0
zawartość dopisana
exit 0
Edycja:
Już wiem w czym był problem, sed nie zapisuje zmian w bieżącym pliku. Poprawiłem skrypt i działa już wyśmienicie.
Kod: Zaznacz cały
cd /etc
sed -e '/^exit/d' rc.local > /tmp/rc.local | more
cat /tmp/autostart >> /tmp/rc.local
cat /tmp/rc.local > /etc/rc.local
rm /tmp/rc.local