1

Я столкнулся с каким-то странным поведением в моей системе Linux. Я создал несколько файлов скриптов bash и изменил их режим на исполняемый. Тем не менее, некоторые могут быть вызваны, а другие нет. В качестве обходного пути мне пришлось скопировать исполняемый файл и заменить его содержимое тем, что из файла не может быть выполнено. Это сработало для меня, но просто хочу знать, что вызвало эту проблему. Конечно, это не проблема пути, так как другие файлы в том же каталоге могут быть вызваны. Это не из-за того, что файл не исполняемый, так как я в этом убедился. Было бы замечательно, если бы кто-нибудь знал быстрое решение, так как эта проблема повторяется.

Например, вы можете видеть, что система может запускать blastem, но не bbrBlas

[c052308@sander ~]$ /home/c052308/bbrBlas -d ./BBR -l pt -p prior.txt -r
/home/c052308/bbrBlas: Command not found.
[c052308@sander ~]$ ./blastem

[c052308@sander ~]$ ./bbrBlas
./bbrBlas: Command not found.
[c052308@sander ~]$ ls -l bbrBlas blastem
-rwxr-xr-x 1 c052308 sashare 3108 Aug 18 17:03 bbrBlas
-rwxr-xr-x 1 c052308 sashare  798 Aug 12 12:06 blastem

1 ответ1

2

Вы получаете это сообщение, когда #! строка вверху скрипта неверна. #! интерпретация выполняется в ядре, а в интерфейсе процесса ядра есть место только для кода ошибки. Таким образом, все, что может сообщить ваша интерактивная оболочка, - это код ошибки (команда не найдена) и файл, который она пыталась выполнить (./bbrBlas).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .