6.3. Sprawdzanie właściwości plików

Problem

Chcemy usprawnić skrypt, dodając do niego funkcję sprawdzenia, czy plik istnieje (przed podjęciem próby odczytania z niego danych), czy plik wyjściowy ma ustawione odpowiednie prawa dostępu (przed próbą zapisania w nim informacji) oraz czy katalog istnieje (przed próbą przejścia do niego). W jaki sposób można zawrzeć tego typu mechanizmy w skrypcie powłoki bash?

Rozwiązanie

W instrukcji test należy uwzględnić odpowiednie operatory sprawdzenia cech pliku. Zdefiniowany wcześniej problem można rozwiązać za pomocą skryptu o następującej treści:

#!/usr/bin/env bash # plik receptury: checkfile # DIRPLACE=/tmp INFILE=/home/krzys/interesujące.dane OUTFILE=/home/krzys/zbiór.wyników if [ -d "$DIRPLACE" ] then cd $DIRPLACE ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.