Estoy tratando de escribir un script que tenga que verificar si existe un archivo. En la consola escribo
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
y consigo
not mod
pero cuando escribo un guión para hacer lo mismo:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
y luego ejecuto el script, obtengo esto:
./ex.sh: 2: [[: not found
mod
Guardé el script en el directorio actual y lo llamé ex.sh, luego me aseguré de que sea ejecutable. Para llamar al guión hago esto:
./ex.sh
¿Por qué tengo este problema? Ya probé muchas cosas:
if [ -a /home ...
y
if test -a /home ...
Ambos regresan
13: -a: unexpected operator
#!/bin/bash