در سیستم عامل مک‌او‌اس چند فرمت اسکریپت قابل استفاده است. علاوه بر فرمت متداول AppleScript، فایل‌هایی با پسوند command نیز متداول است. در این فایل‌ها دستوراتی برای اجرا در محیط Terminal موجود است. ممکن است حین اجرا کردن این نوع اسکریپت با پیام File could not be executed because you do not have appropriate access privileges مواجه شوید که به معنی نداشتن دسترسی و مجوز موردنیاز است.

در این مقاله شیوه‌ی رفع این ارور را بررسی می‌کنیم.

پیام خطای File could not be executed because you do not have appropriate access privileges یکی از ارورهای رایج حین اجرا کردن فایل‌های command است. نکته‌ی جالب این است که در این پیام خطا، پیشنهاد می‌شود که از پنجره‌ی Get Info برای دریافت اطلاعات بیشتر استفاده کنید در حالی که این راهکار کمک خاصی نمی‌کند!

روش رفع ارور File could not be executed because you do not have appropriate access privileges در مک‌او‌اس

رفع ارور File could not be executed because you do not have appropriate access privileges

راهکار اصلی برای رفع ارور موردبحث، فراهم کردن دسترسی موردنیاز است. برای این منظور ابتدا اپلیکیشن Terminal را اجرا کنید. سپس دستور زیر را اجرا کنید و در آن به جای PATH، مسیر کامل فایل command را قرار بدهید:

chmod u+x "PATH"

آپشن x موجب می‌شود که فایل command به یک فایل اجرایی یا به زبان دیگر executable برای اکانت فعلی تبدیل شود.

به عنوان مثال اگر فایل موردنظر شما، script.command است و روی دستاپ  اکانتی به اسم USER قرار دارد، دستور زیر را اجرا کنید:

chmod u+x /Users/USER/Desktop/script.command

ممکن است برای اجرا کردن، پسورد سوال شود. پسورد را وارد کنید. با این روش دسترسی‌های موردنیاز فراهم می‌شود و می‌توانید با دبل‌کلیک روی فایل اسکرپیت، آن را اجرا کنید.

روش رفع ارور File could not be executed because you do not have appropriate access privileges در مک‌او‌اس

نکته‌ی مهم این است که دسترسی‌ها برای هر فایل به صورت مجزا تنظیم می‌شود. به عبارت دیگر حین اجرا کردن سایر فایل‌های اسکریپت در همان مسیر، پیام خطا دریافت خواهید کرد مگر آنکه از روش فوق برای فراهم کردن دسترسی اقدام کنید.

از طرف دیگر دسترسی‌ها برای هر حساب کاربری به شکل مجزا تنظیم می‌شود. لذا اگر بخواهید از طریق یک اکانت دیگر فایل command را اجرا کنید، می‌بایست مجدداً از روش فوق اقدام کنید. اما راهکار بهتر این است که دسترسی‌ها را برای همه‌ی کاربران فراهم کنید. برای این کار می‌بایست از دستور زیر استفاده کنید که مشابه دستور قبلی است با این تفاوت که در آن حرف u به a تغییر کرده است:

chmod a+x "PATH"

در این حالت می‌بایست پسورد اکانت ادمین را وارد کنید.

محدود کردن دسترسی

برای محدود کردن دسترسی‌ها و جلوگیری از اجرا شدن اسکریپت، می‌بایست از دستور زیر استفاده کنید:

chmod -x "PATH"

به عنوان مثال:

chmod -x /Users/USER/Desktop/script.command

در دستور فوق قبل از - قبل از x استفاده شده تا فایل اسکریپت از حالت اجرایی خارج شود.