وقتی من مستقیماً آنها را اجرا کردم ، کریپت ها بسیار خوب کار کردند ، مانند "./script.sh" و "shcript.sh."
اما وقتی که من آنها را با دستور run-parts اجرا کردم ، آنها کارایی ندارند.
برای کسانی که علاقه مند هستند ، دستور run-parts تمام اسکریپت های موجود در فهرست را اجرا می کند.
اگر هنگام اجرای اسکریپت این خطا را دریافت کنید ، این نکته سریع به شما کمک می کند هنگام اجرای اسکریپت ها با دستور run-parts روی لینوکس خطای "Exet format format" را برطرف کنید.
حل خطای "فرمت Exec" هنگام اجرای اسکریپت ها با دستور run-parts
برای اجرای همه اسکریپت ها در پوشه "Documents" ، من فرار کردم:
$ run-parts --regex '^ s. *. سند $ $ s
من پیام خطای زیر را دریافت کردم:
قطعات اجرا: ناموفق در اجرای اسناد / script1.sh: خطای فرمت در اجرای run-parts: اسناد / script1.sh با کد برگشت 1 خارج شد run-parts: در اجرای اسناد موفق نشد. اسکریپت / script2.sh: خطای فرمت Exec run-parts: اسناد / script2.sh با کد برگشت 1 خارج شد run-parts: در اجرای اسناد موفق نشد run-parts: اسناد / script3.sh با کد برگشت 1 خارج شد run-parts: در اجرای اسناد موفق نشد. اسکریپت / script4.sh: خطای فرمت اجرای run-parts: Document / script4.sh با کد بازگشت 1 خارج شد
برای رفع "خطای فرمت Exec" ، باید ابتدا ابتدای اسکریپت های خود یک سبد اضافه کنید تا هسته بتواند نحوه اجرای آنها را انجام دهد.
برای کسانی که علاقه مند هستند ، یک shebang دنباله ای از کاراکترهای متشکل از یک عدد کاراکتر و یک علامت تعجب (#!) در ابتدای فیلمنامه است.
وقتی در ابتدای یک فایل متنی یک چوب اضافه می کنید ، به عنوان یک فایل اجرایی تعبیر می شود.
در اینجا چند نمونه از نمونه های Shebang آورده شده است:
پوسته بورن ، یا پوسته سازگار: [19659016] #! / Bin / sh
Bash:
Perl:
Python 2.x:
Python 3.x:
#! / Usr / bin / Python3
این چیزی است که ما آن را shebang می نامیم.
اکنون به این مبحث برگردید.
اسکریپت های خود را با استفاده از ویرایشگر مورد علاقه خود ویرایش کنید:
$ nano Documents / itsecforu.sh
[shebang] را به ویرایش کنید. شروع اسکریپت:
#! / bin / sh
اکنون می توانید اسکریپت ها را بدون مشکل با استفاده از دستور run-parts با استفاده از دستور run-parts اجرا کنید.
همچنین می توانید از ShellCheck برای یافتن مشکلات در اسکریپت های خود استفاده کنید.