Jak wysłać e-maila z konsoli?
Musimy przygotować plik z wiadomością - póżniej zostaje tylko wpisanie poniższej komendy :)
mail -s "Temat wiadomosci" mariusz.majerowski@wp.pl < plik_z_wiadomoscia
Jak zrobić skrót do programu?
Link miękki
ln -s nazwa skrot
Link twardy (stający się kopią pliku głównego)
ln nazwa skrot
Jak sprawdzić czy plik istnieje?
najkrócej robimy to następująco
[ -e plik ] && echo "istnieje" || echo "nie istnieje"
Jak dodać dwie liczby?
Jest kilka metod, tutaj zaprezentuję let.
let wynik=2+2
echo $wynik # 4
Jak automatycznie zwiększać licznik w pętli?
Chodzi o zwiększanie licznika o 1aż będzie wynosił 10.
#!/bin/bash
x=1
while [ $x -le 10 ]
do
echo "Napis po raz $x"
x=$[ x+ 1]
done
Wynik działania tego skryptu będzie następujący:
[mariusz@unix mariusz]$ bash licz.sh
Napis po raz 1
Napis po raz 2
Napis po raz 3
Napis po raz 4
Napis po raz 5
Napis po raz 6
Napis po raz 7
Napis po raz 8
Napis po raz 9
Napis po raz 10
[mariusz@unix mariusz]$
Jak zamienić słowa w pliku zapisując zmiany w innym?
Użyjemy sed'a:
sed -e "s/stare_slowo/nowe_slowo/g" zrodlo > cel
Jak wczytać dane do tablicy wyświetlić i zmodyfikować używając funkcji?
#!/bin/bash
fun_wypelnij()
{
echo -e "\nwypelnienie tablicy\n"
i=0
# $1 oznacza pierwszy parametr FUNKCJI
# wiec jesli uzywamy parametrow wywolania
# skryptu to trzeba je wczesniej zapisac
# w zmiennych bo funkcja je nadpisze
# swoimi
[ -z $1 ] && echo -e "\nNie okreslono wielkosci tablicy w wywolaniu funkcji\n" && exit
ile=$1
while [ 1 ]
do
[ $i -eq $ile ] && echo "wypelnilemi tablice ${#tab[*]} liczbami" && break
i=$[ i+1 ]
tab[i]=$i
done
}
fun_wyswietl()
{
echo "wyswietlam elementy tablicy"
i=0
while [ 1 ]
do
echo "tab[$i] wynosi $[ tab[$i] ]"
i=$[ i+1 ]
[ $i -eq ${#tab[*]} ] && echo "wywietlilem" && break
done
}
fun_modyfikuj()
{
echo "zeruje co drugi elementy tablicy"
i=0
while [ 1 ]
do
i=$[ i+2 ]
[ $i -ge ${#tab[*]} ] && echo -e "\nwyzerowalem\n" && break
tab[$i]=0
done
}
fun_wypelnij 5
fun_wyswietl
fun_modyfikuj
fun_wyswietl