#!/bin/bash for n in ~/weekly/*.txt do emacs ae $n done echo "Done."
albo krócej ze średnikiem jako separatorem
#!/bin/bash for n in ~/weekly/*.txt; do ae $n; done; echo "Done."
#!/bin/bash for i in $(seq 15) do echo $i done
Polecenie seq wchodzi w skład pakietu "shellutils" GNU. Jest on zwykle zainstalowany.
Nawiasy kwadratowe w warunkach są synonimem polecenia test, zwracającego 0 lub 1 (prawda lub fałsz) w zależności od spełnienia warunku. Nawiasy te muszą być otoczone spacjami.
if [ $state="goal" ] then echo 'Stan docelowy!' else echo 'Szukamy dalej.' fi
Czasem tylko jedna gałąź
if [ -n $ERROR ] then 'Jakiś błąd; koniec pracy.' exit fi
#!/bin/bash case $(intel_cpu_test) in 1) echo "Masz jakiś stary procesor?";; 2) echo "Masz wbudowane SSE.";; 3) echo "Masz wbudowane SSE2.";; 4) echo "Masz wbudowane SSE3.";; *) echo "To chyba coś nowego?";; esac
Polecenie break powoduje wyjście z otaczającej petli; polecenie continue przechodzi do następnej iteracji.
Polecenie cat, oprócz podstawowej funkcji konkatenacji plików, umie robić jeszcze trochę rzeczy.
cat -v plik.txt wyświetli zawartość pliku na ekranie, ale pokaże wszystkie niedrukowalne znaki używając notacji "^". Pomaga gdy programy nie chcą czytać tekstu twierdząc, że to binaria.
Unix was never designed to keep people from doing stupid things,
because that policy would also keep them from doing clever things.
-- Doug Gwyn