🛠️ Исправление ошибки «Exec format» при запуске скриптов командой run-parts |

🛠️ Исправление ошибки «Exec format» при запуске скриптов командой run-parts

Мануал
Когда я пытался запустить все скрипты в каталоге с помощью команды run-parts, я столкнулся с ошибкой – «run-parts: failed to exec script.sh: Exec format error». С
крипты работали очень хорошо, когда я выполнял их напрямую,  например «./script.sh» и «sh script.sh».
Но они не работали, когда я запускал их командой run-parts.
Для тех, кто интересуется, команда run-parts запускает все скрипты в каталоге.
Если вы получили такую ошибку при запуске скрипта, этот быстрый совет поможет вам исправить ошибку «Exec format error» при запуске скриптов с командой run-parts на Linux.

Решение ошибки «Exec format» при запуске скриптов командой run-parts

Чтобы запустить все скрипты в папке «Documents», я запустил:

$ run-parts --regex '^s.*\.sh$' Documents

Я получил следующее сообщение об ошибке:

run-parts: failed to exec Documents/script1.sh: Exec format error
run-parts: Documents/script1.sh exited with return code 1
run-parts: failed to exec Documents/script2.sh: Exec format error
run-parts: Documents/script2.sh exited with return code 1
run-parts: failed to exec Documents/script3.sh: Exec format error
run-parts: Documents/script3.sh exited with return code 1
run-parts: failed to exec Documents/script4.sh: Exec format error
run-parts: Documents/script4.sh exited with return code 1
Чтобы исправить «ошибку формата Exec», вам нужно добавить шебанг в начале ваших скриптов, чтобы ядро знало, как их запускать.
Для тех, кому интересно, шебанг – это последовательность символов, состоящая из знака числа символов и восклицательного знака (#!) в начале скрипта.
Когда вы добавляете shebang в начале текстового файла, он интерпретируется как исполняемый файл.
Большинство скриптов начинается с шебанга.
Вот несколько типичных примеров Шебанга:

Bourne shell, или совместимый шеллl:

#!/bin/sh

Bash:

#!/bin/bash

Perl:

#!/usr/bin/perl

Python 2.x:

#!/usr/bin/python

Python 3.x:

#!/usr/bin/python3

Это то, что мы называем шебанг.

Теперь вернемся к теме.

Отредактируйте ваши скрипты, используя ваш любимый редактор:

$ nano Documents/itsecforu.sh

Добавьте шебанг в начале скрипта:

#!/bin/sh

Теперь вы можете без проблем запускать скрипты с помощью команды run-parts, используя команду run-parts.

Вы также можете использовать утилиту ShellCheck для поиска проблем в своих скриптах оболочки.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий