Jakiś czas temu miałem problemy z tym iż podczas wykonywania pętli while dane nie są widoczne w pętli ani jak się skończy to które są wcześniej przykład:
Archiwa tagu: bash
linux – chmod -x /user/bin/chmod
ostatnio ktoś zapytał co zrobić jak wykonałem „chcący” coś takiego:
>chmod -x /user/bin/chmod
Pierwsze co mi przyszło do głowy to wymusić to w bash, jednak skompilowane aplikacje muszą mieć bit wykonywalności aby się wykonały. Można oczywiście wykorzystać inne języki skryptowe aby nadać ten bity wykonywalności np w perl to by było:
Czytaj dalej
mysql – bash, perl, groovy
Dzisiaj przyszło mi zastanowić się które rozwiązanie będzie najlepsze. A dokładniej chodzi o skrypt który będzie operował na bazie MySQL. Do dyspozycji mam bash, perl i groovy. oto wyniki testu.
Wysłanie pliku poprzez e-mail z konsoli
Ostatnio musiałem zrobić automat który będzie pobierał dane z bazy do plik i wysyłał ten plik jako załącznik. Wysyłanie e-maili nie było dla mnie trudności, ale jak dodać plik jako załącznik, dodatkowo mając tylko do dyspozycji konsolę. Poszukałem i znalazłem że uuencode może pomóc mi w moim problemie.
Czytaj dalej
Programowanie w BASH – pierwszy skrypt
Aby stworzyć pierwszy skrypt, musimy najpierw utworzyć plik skryptplik.sh w którym będzie znajdował się kod a następnie nadać uprawnienia do wykonywania pliku. W systemie Linux rozszerzenie pliku nie ma znaczenia, ale przyjęło się używanie rozszerzenia sh dla skryptów Bash.
# touch start.sh
# chmod +x start.sh
Programowanie w BASH – znaki specjalne
Poniżej są wymienione znaki specjalne używane w bash:
\
#
$
|
'
Czytaj dalej
Monitorowanie wolnego miejsca na dysku
Pomyślałem sobie że warto zacząć monitorować ile jest jeszcze wolnego miejsca na dysku. Poniżej przedstawiam moje rozwiązanie, czyli skrypt który jest wywoływany poprzez CRON:
history w linux
Jakiś czas temu zacząłem dostrzegać dobrodziejstwo korzystania z history w linux.
Dodatkowo pobawiłem się trochę konfiguracją aby było lepiej można zarządzać i tak:
HISTFILESIZE - ilość przechowywanych wpisów
HISTTIMEFORMAT - zmiana wyświetlania, przechowywania danych np. HISTTIMEFORMAT="[%d/%m/%y %T] "
HISTCONTROL - zarządzanie historią. Może przybierać wartości:
HISTCONTROL=ignoredups - eliminacja duplikatów
HISTCONTROL=erasedups - usuwanie duplikatów z historii
HISTCONTROL=ignorespace - nie zapisywanie w historii poleceń zaczynających się od spacji
HISTIGNORE="pwd:ls:ls -ltr:" - ignorowanie poleceń zapisanych w parametrze
Skróty
!! - uruchomione zostanie poprzednio wydane polecenie
!-1 - uruchomione zostanie poprzednio wydane polecenie
[Ctrl] + P - wyświetli się poprzednio wydane polecenie
!512 - uruchomione zostanie 512 polecenie
!ps - uruchomione zostanie polecenie zaczynające się od ps
Aby odczytać wartość należy wydać polecenie (np. dla HISTFILESIZE)
#echo $HISTFILESIZE
Aby zmienić wartość należy wydać polecenie (np dla HISTTIMEFORMAT)
#export HISTTIMEFORMAT="[%d/%m/%y %T] "
Aby zapisać dane które będą aktywne zaraz po zalogowaniu należy w pliku ~/.bashrc dopisać regułkę (np dla HISTTIMEFORMAT) export HISTTIMEFORMAT=”[%d/%m/%y %T] ”
Wiadomo także że niepowołana osoba przeglądając historię może zobaczyć co robiliśmy zatem aby wyczyścić historię należy wydać polecenie history -c.
/bin/sh – zamiana z dash na bash
Po aktualizacji z Lenny na Squeeze miałem problem ze skryptami bo wszędzie było odwołanie do /bin/sh co dawało bash a od teraz jest dash.
Wykonaj:
#rm /bin/sh
następnie:
#ln -s /bin/bash /bin/sh
I już powinno wszystko być dobrze.