خب الان واضح شد دیگه ; اولش اینا رو نگفته بودین که
اون دستورات اول و دوم رو برای اجرای اسکریپت امتحان کنین و نتیجه رو بگین :
sudo sh script.sh
sudo bash script.sh
برادر فایل اجرایی هست sh نیست که
مگه نمی گین اسکریپته ؟ خب با همون ران کنین دیگه !
بذارین خیلی ساده و خودمونی توضیح بدم شاید مشکل از توضیحه منه نیگاه کنین اول خیلی از اسکریپتا shebang (دستوراتی عینه #!/bin/sh و یا #!/bin/bash) وجود داره که در واقع برنامه نویس میگه این اسکریپت (حالا با پسوند .sh یا .run یا حتی بدون پسوند) برای این شل بهینه شده و بهتره (و بعضا لازمه) که با اون شل خاص اجرا بشه و حتی بعضی از شل ها وقتی می بینن که این فایل با shebang مخصوص اونا نیست اون فایل اجرایی رو (حتی وقتی دسترسی execute داره) اجرا نمی کنن و با خطاهای مختلفی مثل command not found یا not such file or directory و ... از اجرای فایل اجرایی ممنانعت به عمل میارن برای همین گفتم که با sh (که اگه اشتباه نکنم برای شل dash هستش) و یا با bash (که مربوط به شل bash هستش) اجرا کنید تا ببینم مشکل از shebang هست یا نه ؟
ممکنه مشکل حتی ناشی از این باشه که encode نوشتاری فایل مناسب اون شل نباشه (مثلا ممکنه که utf-8 نباشه و ...) پس اگه شما دوست دارین مشکلتون حل بشه لطفاً کاری که گفته می شه رو تست کنین تا ما هم بتونیم راحت تر کمک کنیم
(برای مثال عرض می کنم من موقع اجرای فایل اجرایی matlab رو که به قول شما sh هم نبود نتونستم با ./matlab اجرا کنم ولی به راحتی با bash matlab اجرا شد حال خود دانی !)