Estou tentando escrever um script que precisa verificar se existe um arquivo. No console eu escrevo
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
e eu recebo
not mod
mas quando escrevo um script para fazer a mesma coisa:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
e, em seguida, execute o script, recebo o seguinte:
./ex.sh: 2: [[: not found
mod
Salvei o script no diretório atual e o nomeei ex.sh, depois verifiquei que ele é executável. Para chamar o script, eu faço isso:
./ex.sh
Por que estou recebendo esse problema? Eu já tentei muitas coisas:
if [ -a /home ...
e
if test -a /home ...
Ambos retornam
13: -a: unexpected operator
#!/bin/bash