আমার একটি আছে 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
অন্য কোন অনুমতি (যেমন অনুমতি চালানো) প্রভাবিত ছাড়া, পড়তে এবং ব্যবহারকারীর জন্য লিখুন যোগ করুন.
এই ওয়েবসাইট একটি খুব দরকারী সামান্য গ্রিড চেকবক্স জিনিস আছে, যার মাধ্যমে আপনি চান অপশন টিক্ করতে পারেন এবং এটি আপনাকে কমান্ড দেয়:
তবে, সমস্ত সম্ভাব্য সংমিশ্রণগুলি ব্যবহারের জন্য বোধগম্য নয়; ব্যবহৃত প্রধানগুলি নিম্নলিখিত:
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
তাই সব ব্যবহারকারীদের স্ক্রিপ্ট নির্বাহ করতে পারেন. - ফাইলের নাম একটি আছে
*
এটি এক্সিকিউটেবল ইঙ্গিত এটি যোগ করা হয়েছে. এছাড়াও ফাইলের নাম অধিকাংশ সিস্টেমে সবুজ রং পরিবর্তন.
এটি এক্সিকিউটেবল না করে একটি স্ক্রিপ্ট চালান
আপনি এখনও এটি এক্সিকিউটেবল না করে একটি ব্যাশ স্ক্রিপ্ট চালাতে পারেন. উদাহরণ স্বরূপ:
$ 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)
আমি এটা আবেদন/এক্স এক্সিকিউটেবল তৈরীর সম্পর্কে বিশেষভাবে জিজ্ঞাসা করেছেন, কারণ এটি একটি ডুপ্লিকেট নয়. অন্য প্রশ্ন শুধু টার্মিনালে এসএইচ ফাইল খোলার জন্য অনুরোধ জানানো হবে.