Tworzenie prostego skryptu
Tworzenie prostego skryptu
W związku z tym, że to mój pierwszy post, także witam wszystkich serdecznie.
Mam zainstalowanego Debiana 5.0.4 i386 na pendrive'ie. Potrzebuję teraz stworzyć skrypt powłoki czyszczący historię poleceń powłoki oraz wymusić jego wykonanie przy wyłączeniu systemu i jego starcie. Do tego mam jeszcze przywrócić pewne pliki konfiguracyjne, ale to może później, jak będę znał podstawy, to myślę, że z drugim problemem sobie poradzę. A jak nie to zawsze liczę na Was zapaleńców.
Jeśli ktoś jest w stanie wytłumaczyć, w jaki sposób można taki skrypt napisać, dać jakiś przykładowy, lub gotowy mnie interesujący - za każdą pomoc będę wdzięczny.
Jeśli ta informacja jest potrzebna/przydatna to mam zainstalowane dwa menadżery logowania gdm i kdm - używam tego drugiego.
Jest to moja pierwsza "podróż" po Linuksie także proszę o wyrozumiałość ;]
Mam zainstalowanego Debiana 5.0.4 i386 na pendrive'ie. Potrzebuję teraz stworzyć skrypt powłoki czyszczący historię poleceń powłoki oraz wymusić jego wykonanie przy wyłączeniu systemu i jego starcie. Do tego mam jeszcze przywrócić pewne pliki konfiguracyjne, ale to może później, jak będę znał podstawy, to myślę, że z drugim problemem sobie poradzę. A jak nie to zawsze liczę na Was zapaleńców.
Jeśli ktoś jest w stanie wytłumaczyć, w jaki sposób można taki skrypt napisać, dać jakiś przykładowy, lub gotowy mnie interesujący - za każdą pomoc będę wdzięczny.
Jeśli ta informacja jest potrzebna/przydatna to mam zainstalowane dwa menadżery logowania gdm i kdm - używam tego drugiego.
Jest to moja pierwsza "podróż" po Linuksie także proszę o wyrozumiałość ;]
Historia przechowywana jest w:
Wyczyścić możesz np. poleceniem
Skrypt sobie już z tego zrobisz bez problemu
Kod: Zaznacz cały
~/.bash_history
Kod: Zaznacz cały
echo > ~/.bash_history
Historia jest zapamiętywana w pliku określonym przez zmienną HISTFILE (domyślnie ~/.bash_history). Jeśli zmienna ta jest pusta historia nie będzie w ogóle przechowywana w pliku - może to Ci wystarczy za rozwiązanie.
Coś mi podpowiada, że chcesz zrobić coś brzydkiego, skoro pytasz jak zacierać za sobą ślady...
Coś mi podpowiada, że chcesz zrobić coś brzydkiego, skoro pytasz jak zacierać za sobą ślady...
Robię projekt protokołu SNMP, który będzie używany przez późniejsze roczniki. Ma być zabezpieczenie właśnie czyszczenia powłoki i przywracania konfiguracji plików po zakończeniu pracy - całość jest osadzona na pendrive.
Dlatego potrzebuję kawałek skryptu. Mam, który tmy123 napisał, ale nadal nie wiem w jaki sposób zapisać, o jakiej nazwie, o jakim rozszerzeniu i w jaki sposób wymusić wykonywanie tego przy starcie i wyłączaniu systemu.
Jakbym chciał coś popsuć to wolałbym to robić na Windowsie - przynajmniej wiem co, jak i gdzie psuć.
Dlatego potrzebuję kawałek skryptu. Mam, który tmy123 napisał, ale nadal nie wiem w jaki sposób zapisać, o jakiej nazwie, o jakim rozszerzeniu i w jaki sposób wymusić wykonywanie tego przy starcie i wyłączaniu systemu.
Jakbym chciał coś popsuć to wolałbym to robić na Windowsie - przynajmniej wiem co, jak i gdzie psuć.
Oto wyjątek z strony podręcznika basha:
Przykładowy banalny skrypt bashowy:
Kod: Zaznacz cały
man bash
Kod: Zaznacz cały
/etc/profile
The systemwide initialization file, executed for login shells
/etc/bash.bashrc
The systemwide per-interactive-shell startup file
/etc/bash.bash.logout
The systemwide login shell cleanup file, executed when a login
shell exits
~/.bash_profile
The personal initialization file, executed for login shells
~/.bashrc
The individual per-interactive-shell startup file
~/.bash_logout
The individual login shell cleanup file, executed when a login
shell exits
Kod: Zaznacz cały
#!/bin/bash
PATH=/bin:/usr/bin
rm $HISTFILE
Tak dowolnej, tylko musisz nadać prawa do wykonywania czyli:
Do .bashrc i .bash_logout dodaj np.
i będzie wykonywany przy zalogowaniu lub wylogowaniu z powłoki.
Lub też żeby był wykonywany przy starcie systemu trzeba do /etc/rc.local dodać.
Kod: Zaznacz cały
chmod a+x nazwa_pliku
Kod: Zaznacz cały
sh nazwa_skryptu.sh
Lub też żeby był wykonywany przy starcie systemu trzeba do /etc/rc.local dodać.