Имя исполняемого файла важно. Если ваш файл назван foo.sh
, то выполнение FOO
не будет работать, если нет каких-либо других исполняемых файлов foo
. В отличие от Windows, UNIX не делает неявных расширений файлов.
Если следующие работы:
./ foo.sh
Но это не:
Foo.sh
Это означает, что файл находится в вашем текущем каталоге, и ваш текущий каталог не находится на вашем пути. Для вашей защиты, если вы явно не предоставляете путь к команде, оболочка будет искать только команду между файлами, которые находятся на вашем пути.
Пространства важны. Следующее может работать:
./ foo.sh
Но это (взято из первой версии этого вопроса), безусловно, не будет работать:
./ foo.sh
с пространством между . /
и foo.sh
, оболочка будет думать, что вы хотите выполнить текущий каталог с foo.sh
аргумент Это создаст сообщение об ошибке.
Учитывая простоту парсера /etc/fstab
, я бы ожидал, что удаление кавычек вокруг UUID в затрагиваемой записи может помочь, то есть использовать
UUID=064ced5e-19c1-43d1-876f-3de0c115b65e /mnt/Data ...
вместо
UUID="064ced5e-19c1-43d1-876f-3de0c115b65e" /mnt/Data ...