Я пытаюсь написать скрипт, который должен проверить, существует ли файл. В консоли пишу
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
и я получаю
not mod
но когда я пишу скрипт, чтобы сделать то же самое:
#!/bin/sh
if [[ -a /path/to/file.txt ]]; then echo "not mod"; else echo "mod"; fi
и затем выполнить скрипт, я получаю это:
./ex.sh: 2: [[: not found
mod
Я сохранил скрипт в текущем каталоге и назвал его ex.sh, а затем убедился, что он исполняемый. Чтобы вызвать скрипт, я делаю это:
./ex.sh
Почему я получаю эту проблему? Я уже перепробовал много вещей:
if [ -a /home ...
и
if test -a /home ...
Они оба возвращаются
13: -a: unexpected operator
#!/bin/bash