Logo


Kurs programowania w Bash'u

Nowości       Porady      

Jak wysłać e-maila z konsoli?

Zakładając, że mamy poprawnie skonfigurowanego klienta pocztowego:
Musimy przygotować plik z wiadomością - póżniej zostaje tylko wpisanie poniższej komendy :)

mail -s "Temat wiadomosci" mail@domena.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

Ostatnio dodano

O stronie

Stronę najlepiej oglądać w rozdzielczości 1024x768. Strona optymalizowana dla przeglądarki Mozilla.

Prośba

Jeśli chciałbyś coś zmienić lub uważasz że czegoś brakuje pisz. Odpiszę na każdy list.

Subskrypcja

Jeśli chcesz być informowany o nowościach na stronie wpisz tu swój e-mail i kliknij Wyślij.

O mnie

O autorze
Autorem kursu jest Mariusz Majerowski
Ostatnia aktualizacja: 23 VI 2004.