Porównanie Opis

<INTEGER1> -eq <INTEGER2>

Prawda jeśli liczby są równe.

<INTEGER1> -ne <INTEGER2>

Prawda jeśli liczby nie są równe.

<INTEGER1> -le <INTEGER2>

Prawda jeśli pierwsza liczba jest mniejsza lub równa od drugiej.

<INTEGER1> -ge <INTEGER2>

Prawda jeśli pierwsza liczba jest większa lub równa od drugiej.

<INTEGER1> -lt <INTEGER2>

Prawda jeśli pierwsza liczba jest mniejsza od drugiej.

<INTEGER1> -gt <INTEGER2>

Prawda jeśli pierwsza liczba jest większa od drugiej.

przykład:

if [ $? -ne 0 ]; then
    echo "Wystąpił błąd $?"
fi

Testy na plikach

Test Opis

-a <FILE>

Prawda jeśli <FILE> istnieje. :!: nie rekomendowany, może kolidować z -a użytym jako AND.

-e <FILE>

Prawda jeśli <FILE> istnieje.

-f <FILE>

Prawda jeśli <FILE> istnieje i jest to zwykły plik.

-d <FILE>

Prawda jeśli <FILE> istnieje i jest katalogiem.

-c <FILE>

Prawda jeśli <FILE> istnieje i jest urządzeniem znakowym.

-b <FILE>

Prawda jeśli <FILE> istnieje i jest urządzeniem blokowym.

-p <FILE>

Prawda jeśli <FILE> istnieje i jest potokiem nazwanym (FIFO).

-S <FILE>

Prawda jeśli <FILE> istnieje i jest gniazdem (socket).

-L <FILE>

Prawda jeśli <FILE> istnieje i jest linkiem symbolicznym.

-h <FILE>

Prawda jeśli <FILE> istnieje i jest linkiem symbolicznym.

-g <FILE>

Prawda jeśli <FILE> istnieje i ma ustawiony sgid bit.

-u <FILE>

Prawda jeśli <FILE> istnieje i ma ustawiony suid bit.

-r <FILE>

Prawda jeśli <FILE> istnieje i można go odczytać.

-w <FILE>

Prawda jeśli <FILE> istnieje i można w nim zapisywać.

-x <FILE>

Prawda jeśli <FILE> istnieje i można go wykonać.

-N <FILE>

Prawda jeśli <FILE> istnieje i był zmieniany od ostatniego odczytu.

-s <FILE>

Prawda jeśli <FILE> istnieje i nie jest pusty.

-t <fd>

Prawda jeśli deskryptor pliku <fd> jest otwarty na terminalu.

<FILE1> -nt <FILE2>

Prawda jeśli <FILE1> jest nowszy od <FILE2> (mtime). :!:

<FILE1> -ot <FILE2>

Prawda jeśli <FILE1> jest starszy od <FILE2> (mtime). :!:

<FILE1> -ef <FILE2>

Prawda jeśli <FILE1> i <FILE2> odnoszą się do tego samego urządzenia i numeru inode. :!:

function create_symlinks() {
  LINKI="gp ds-grep new otp posts publish books"
  for I in $LINKI
  do
    if [[ -f $BIN/$I  && ! -L $BIN/$I ]]
    then
      echo "UWAGA! \"$BIN/$I\" istnieje i NIE jest linkiem."
    elif [ ! -L $BIN/$I ]
    then
      ln -s $BIN/$(basename $0) $BIN/$I
    elif [ ! -e $BIN/$I ]   # uszkodzony symlink
    then
      ln -sf $BIN/$(basename $0) $BIN/$I
    fi
  done
}
Test Opis

-z <STRING>

Prawda jeśli <STRING> jest pusty.

-n <STRING>

Prawda jeśli <STRING> nie jest pusty.

<STRING1> = <STRING2>

Prawda jeśli <STRING1> i <STRING2> są identyczne.

<STRING1> != <STRING2>

Prawda jeśli <STRING1> i <STRING2> są różne.

<STRING1> < <STRING2>

True if <STRING1> sorts before <STRING2> lexicographically (pure ASCII, not current locale!). Remember to escape! Use \<

<STRING1> > <STRING2>

True if <STRING1> sorts after <STRING2> lexicographically (pure ASCII, not current locale!). Remember to escape! Use \>

Operator syntax Description

<TEST1> -a <TEST2>

True, if <TEST1> and <TEST2> are true (AND). Note that -a also may be used as a file test (see above)

<TEST1> -o <TEST2>

True, if either <TEST1> or <TEST2> is true (OR).

! <TEST>

True, if <TEST> is false (NOT).

( <TEST> )

Group a test (for precedence). Attention: In normal shell-usage, the "(" and ")" must be escaped; use "\(" and "\)"!

-o <OPTION_NAME>

True, if the shell option <OPTION_NAME> is set.

-v <VARIABLENAME>

True if the variable <VARIABLENAME> has been set. Use var[n] for array elements.

-R <VARIABLENAME>

True if the variable <VARIABLENAME> has been set and is a nameref variable (since 4.3-alpha)


wstecz

Date: 2020-10-24T15:16:13+02:00