Исполняемые файлы в Linux / Unix не имеют расширений. Итак, если вы назвали свой файл «args.sh», то ваш исполняемый файл - «args.sh». Переименуйте его в «args», если хотите позвонить с помощью «./args".
Затем ядро выясняет, как загрузить исполняемый файл, посмотрев на «волшебную строку» в начале файла. В этом случае волшебная строка "#!" (также известный как «shebang»), который говорит ядру использовать исполняемый файл в оставшейся части строки для запуска этого сценария, в вашем случае, «/ bin / bash». Другие магические строки сообщат ядру, что это двоичный файл формата ELF или формата .out или что у вас есть, чтобы ядро знало, как их загрузить, или что оно вообще не может их загрузить (например, если это RISC / 6000 для AIX).