Próbuję napisać skrypt, który musi sprawdzić, czy plik istnieje. W konsoli piszę
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
i rozumiem
not mod
ale kiedy piszę skrypt, aby zrobić to samo:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
a następnie uruchom skrypt, otrzymuję to:
./ex.sh: 2: [[: not found
mod
Zapisałem skrypt w bieżącym katalogu i nadałem mu nazwę ex.sh, a następnie upewniłem się, że jest wykonywalny. Aby wywołać skrypt, robię to:
./ex.sh
Dlaczego dostaję ten problem? Próbowałem już wielu rzeczy:
if [ -a /home ...
i
if test -a /home ...
Obaj wracają
13: -a: unexpected operator
#!/bin/bash