কীভাবে একটি ফাইল তৈরি করবেন (উদাঃ এএসএইচ স্ক্রিপ্ট) এক্সিকিউটেবল, সুতরাং এটি টার্মিনাল থেকে চালানো যেতে পারে

আমার একটি আছে script.sh ফাইল এবং এই ফাইলের ধরন শেলস্ক্রিপ্ট ফাইল. আমি আবেদন / এক্স এক্সিকিউটেবল ফাইল হিসাবে এই ফাইল করতে চান. আমি কিভাবে এটা করতে পারি?

আপনি ফাইলটিকে এক্সিকিউটেবল হিসাবে চিহ্নিত করতে পারেন:

chmod +x filename.sh

তারপরে আপনি এটি এভাবে সম্পাদন করতে পারেন:

./filename.sh

আপনি যদি এটি শুরু করতে কোনও আলাদা কমান্ড ব্যবহার করতে চান তবে আপনি একটি উপনাম যুক্ত করতে পারেন:

gedit ~/.bashrc

ফাইলের শেষে এটি যুক্ত করুন:

alias <new name>='/home/<full path to script>/filename.sh'

একটি নতুন টার্মিনাল সেশন খুলুন বা টাইপ করুন source ~/.bashrc আপনার টার্মিনালে আবেদন করতে.তারপর কেবল স্ক্রিপ্ট শুরু করার জন্য নতুন নাম ব্যবহার করুন.

একটি ফাইল এক্সিকিউটেবল করার দুটি উপায় রয়েছে:

জিইউআই পদ্ধতি:

ফাইলটিতে ডান ক্লিক করুন এবং নির্বাচন করুন বৈশিষ্ট্য.অনুমতি ট্যাবে যান, তারপরে বাক্সটি টিক দিন Execute: [ ] Allow executing file as program বা নটিলাসে Program: [ ] Allow this file to run as a program থুনারে

টার্মিনাল / কমান্ড পদ্ধতি:

আপনি ব্যবহার করতে পারেন:

cd /to/my/required/directory

তারপর চালান

chmod +x filename.extension

বা শুধু চালান:

chmod +x /path/to/your/filename.extension

chmod আরো কিছু উন্নত বিকল্প আছে:

স্পেস এটি বিভক্ত করা হয় যে প্রদর্শন করা হয়: - rwx --- ---

প্রথম সেট --- ব্যবহারকারী দ্বিতীয়টি গ্রুপ এবং শেষটি অন্য (অন্য কেউ)

আর এর অর্থ পড়ুন, লেখার জন্য ডাব্লু এবং এক্স কার্যকর করার জন্য.

তাই সবাই এটা পড়তে অনুমতি, কিন্তু শুধুমাত্র গ্রুপ চালানো এবং ব্যবহারকারী পড়তে এবং এটি লিখতে (কিন্তু চালানো না কিছু কারণে) হবে:

-rw- rx- r-- তবে এটি কমান্ড হিসাবে যুক্ত করা হবে:

chmod +rw-rx-r-- /path/to/file.extension

chmod এছাড়াও সংখ্যায় এই কাজ করতে পারেন. এটি বাইনারি উপর ভিত্তি করে (আমি মনে করি, এটি 1,2 এবং 4 হিসাবে)

সুতরাং এই সংখ্যা আছে:

ব্যবহারকারী দ্বারা চালানো হয় 100.গ্রুপ দ্বারা চালানো হয় 010.অন্য দ্বারা চালানো হয় 001.

ব্যবহারকারী দ্বারা লিখুন 200.গ্রুপ দ্বারা লিখুন 020.অন্য দ্বারা লিখুন 002.

ব্যবহারকারী দ্বারা পড়া হয় 400.গ্রুপ দ্বারা পড়া হয় 040.অন্য দ্বারা পড়া হয় 004.

তারপর আপনি পছন্দসই সমন্বয় পেতে একসঙ্গে এই যোগ করুন.

তাই সবাই এটা পড়তে অনুমতি দেয়, কিন্তু শুধুমাত্র গ্রুপ চালানো এবং ব্যবহারকারী এটি লিখতে (কিন্তু কিছু কারণে চালানো না) হবে:

400 + 040 + 004 এবং 010 এবং 200

যে পর্যন্ত যোগ করে 600 + 050 + 004 = 654.

তারপর আপনি কমান্ড চালাতে পারে.

chmod +654 /path/to/file.extension সেট করতে.

এবং সমস্ত অনুমতি সেট করতে আপনি টাইপ করতে পারেন:

chmod +rwxrwxrwx /path/to/file.extension

অথবা (এই লিখতে একটু সহজ, কিন্তু প্রতিটি এক মনে রাখা কঠিন):

chmod +777 /path/to/file.extension

অবশেষে, আপনি করতে পারেন:

chmod -777 /path/to/file.extension

সবাই থেকে দূরে সব অনুমতি নিতে.

এবং:

chmod +300 /path/to/file.extension

অন্য কোন অনুমতি (যেমন অনুমতি চালানো) প্রভাবিত ছাড়া, পড়তে এবং ব্যবহারকারীর জন্য লিখুন যোগ করুন.

এই ওয়েবসাইট একটি খুব দরকারী সামান্য গ্রিড চেকবক্স জিনিস আছে, যার মাধ্যমে আপনি চান অপশন টিক্ করতে পারেন এবং এটি আপনাকে কমান্ড দেয়:

enter image description here

তবে, সমস্ত সম্ভাব্য সংমিশ্রণগুলি ব্যবহারের জন্য বোধগম্য নয়; ব্যবহৃত প্রধানগুলি নিম্নলিখিত:

755 - Owner সব আছে, এবং Group এবং Other পড়তে এবং কার্যকর করতে পারেন

700 - Owner সব আছে

644 - Owner পড়তে এবং লিখতে পারেন, এবং Group এবং Other পড়তে পারেন

600 - Owner পড়তে এবং লিখতে পারেন

এবং, যদি আপনি অ-তুচ্ছ ব্যবহারকারী গোষ্ঠী ব্যবহার করেন:

775 - Owner পড়তে এবং লিখতে পারেন, এবং Group এবং Other পড়তে পারেন

770 - Owner এবং Group সব আছে, এবং Other পড়তে এবং কার্যকর করতে পারেন

750 - Owner সব আছে, এবং Group পড়তে এবং কার্যকর করতে পারেন

664 - Owner এবং Group পড়তে এবং লিখতে পারেন, এবং Other শুধু পড়তে পারেন

660 - Owner এবং Group পড়তে এবং লিখতে পারেন

640 - Owner পড়তে এবং লিখতে পারেন, এবং Group পড়তে পারেন

777 এবং 666 খুব কমই ব্যবহার করা হয়, ইন /টিএমপি ছাড়া.

ধন্যবাদ ইলমারি কারোনেন উল্লিখিত সময়ের জন্য নির্দেশ করে সাধারণ ব্যবহার বেশী!

চালান:

chmod +x /path/to/file.sh

এটি আন-এক্সিকিউটেবল করতে, চালান:

chmod -x /path/to/file.sh

উদাহরণস্বরূপ আমি তৈরি করেছি .sh ফাইল:

vi tester12.sh

আমি ষষ্ঠ সম্পাদকটিতে কিছু কোড লেখার পরে, আমি ষষ্ঠ সম্পাদক থেকে প্রস্থান করব:

:wq!chmod +x tester12.sh./tester12.sh

সমস্ত ব্যবহারকারীকে আপনার স্ক্রিপ্ট চালাতে দিন

হিসাবে আপনি এটি সঙ্গে এক্সিকিউটেবল করতে ফাইলের মৃত্যুদন্ড বিট সেট করতে পারেন বলেন chmod +x. কিন্তু আপনি ব্যবহার করতে পারেন chmod a+x:

$ ll file_command.txt-rw-rw-r-- 1 rick rick 17 Sep 19 08:55 file_command.txt$ chmod a+x file_command.txt$ ll file_command.txt-rwxrwxr-x 1 rick rick 17 Sep 19 08:55 file_command.txt*

টীকা:

  • একটি স্ক্রিপ্ট দিয়ে শেষ করতে হবে না .sh এটি শেষ হতে পারে .txt এখানে দেখানো হয়েছে, বা সবটা কোন এক্সটেনশন আছে.
  • পরিবর্তে শুধু +x (শুধুমাত্র আপনি স্ক্রিপ্ট চালাতে পারেন), ব্যবহার করুন a+x তাই সব ব্যবহারকারীদের স্ক্রিপ্ট নির্বাহ করতে পারেন.
  • ফাইলের নাম একটি আছে * এটি এক্সিকিউটেবল ইঙ্গিত এটি যোগ করা হয়েছে. এছাড়াও ফাইলের নাম অধিকাংশ সিস্টেমে সবুজ রং পরিবর্তন.

make script executable


এটি এক্সিকিউটেবল না করে একটি স্ক্রিপ্ট চালান

আপনি এখনও এটি এক্সিকিউটেবল না করে একটি ব্যাশ স্ক্রিপ্ট চালাতে পারেন. উদাহরণ স্বরূপ:

$ echo "echo Hello World" > file_command.txt$ cat file_command.txtecho Hello World$ bash file_command.txtHello World

টীকা:

  • প্রথমে আমরা একটি স্ক্রিপ্ট তৈরি করি যার মধ্যে রয়েছে echo Hello World.
  • তারপর আমরা স্ক্রিপ্ট বলা নিশ্চিত file_command.txt সঠিক.
  • সর্বশেষে আমরা কল করে স্ক্রিপ্ট চালানো bash এবং এটি স্ক্রিপ্ট নাম ক্ষণস্থায়ী. দ্য bashকমান্ড আসলে হিসাবে সংরক্ষণ করা হয় /bin/bash এবং এটা সব উবুন্টু সিস্টেমে একটি এক্সিকিউটেবল হয়.
  • কমান্ডের একটি ফাইল তৈরি করা আপনাকে যুক্ত করা থেকে বাঁচায় শেবাং #!/bin/bash একটি স্ক্রিপ্ট প্রথম লাইন হিসাবে.
  • কমান্ডের একটি ফাইল তৈরি করা আপনাকে এটিকে এক্সিকিউটেবল করা থেকে বাঁচায় chmod +x অথবা chmod a+x.

সম্পর্কিত [টার্মিনালে আমি কীভাবে ফাইল চালাব?] (command line - How do I run .sh scripts? - Ask Ubuntu)

এর সম্ভাব্য সদৃশ [আমি কীভাবে ফাইলগুলি চালাব?] (command line - How do I run .sh scripts? - Ask Ubuntu)

আমি এটা আবেদন/এক্স এক্সিকিউটেবল তৈরীর সম্পর্কে বিশেষভাবে জিজ্ঞাসা করেছেন, কারণ এটি একটি ডুপ্লিকেট নয়. অন্য প্রশ্ন শুধু টার্মিনালে এসএইচ ফাইল খোলার জন্য অনুরোধ জানানো হবে.