Saya mencoba menulis skrip yang harus memeriksa apakah ada file. Di konsol saya menulis
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
dan saya mengerti
not mod
tetapi ketika saya menulis skrip untuk melakukan hal yang sama:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
dan kemudian jalankan skrip, saya mendapatkan ini:
./ex.sh: 2: [[: not found
mod
Saya menyimpan skrip pada direktori saat ini dan menamakannya ex.sh, kemudian saya memastikan itu dapat dieksekusi. Untuk memanggil skrip saya melakukan ini:
./ex.sh
Mengapa saya mendapatkan masalah ini? Saya sudah mencoba banyak hal:
if [ -a /home ...
dan
if test -a /home ...
Keduanya kembali
13: -a: unexpected operator
#!/bin/bash