সমস্ত ইনপুট জন্য ধন্যবাদ। আমি এখন আমার নিজের প্রশ্নের উত্তর দেওয়ার চেষ্টা করব এবং স্ক্রিপ্ট এবং বাইনারিগুলি কার্যকর করতে বিভিন্ন সম্ভাবনার একটি সম্পূর্ণ গাইড সরবরাহ করব। দয়া করে সম্পাদনা করুন এবং মন্তব্য করুন এবং আমরা সম্পূর্ণ এবং সঠিক কিছু নিয়ে আসতে সক্ষম হব। আমার পরামর্শটি এখানে:
প্রথমে দুটি বিষয় উল্লেখ করতে হবে:
লিনাক্স একটি কমান্ড এবং একটি পথের মধ্যে পার্থক্য তৈরি করে । একটি কমান্ড কেবল প্রম্পটে যেমন-তে টাইপ করা থাকে, এবং এটি একটি অন্তর্নির্মিত সম্পাদন করে বা লিনাক্সকে b PATH- তে সম্পর্কিত বাইনারি বা স্ক্রিপ্ট সন্ধান করতে সহায়তা করে।
লিনাক্সকে কিছুকে পথ হিসাবে ব্যাখ্যা করার জন্য, এতে কমপক্ষে একটি স্ল্যাশ (/) থাকা দরকার contain উদাহরণস্বরূপ ./myScript
, ./
বেশ অপ্রয়োজনীয় মনে হতে পারে - এটি কেবল লিনাক্সকে কমান্ডের পরিবর্তে একটি পথ হিসাবে ব্যাখ্যা করার জন্য তৈরি করে।
সুতরাং, বাইনারি বা স্ক্রিপ্ট চালানোর জন্য বিকল্পগুলি:
বাইনারি কার্যকর করা binary
:
$ binary # when 'binary' is on the PATH, or is a built-in
$ ./binary # when 'binary' is not on the path but in the current directory
$ /home/me/binary # when 'binary' is not on the PATH, and not in the current dir
একটি স্ক্রিপ্ট কার্যকর করা হচ্ছে script
:
অন্যথায় না বললে ফাইলটির অনুমতি কার্যকর করতে হবে।
$ script # execute a script that is on PATH. Will be executed in a new shell.
# The interpreter to use is determined by the she-bang in the file.
$ ./script # execute a script that is in the current dir. Otherwise as above.
$ /a/dir/script # when the script is not on the PATH and not in current dir.
# Otherwise as above.
$ . script # execute a script in the current dir. Will be executed in the
# current shell environment.
$ source script # equivalent to the above *1
$ sh script # executes 'script' in a new shell *2 (the same goes for 'bash ...',
# 'zsh ...' etc.). Execute permission not neccessary.
সে-ব্যাংস সম্পর্কে :
#!/bin/sh
প্রথম লাইনে শে -ব্যাং (উদাহরণস্বরূপ ) সহ স্ক্রিপ্টগুলি কোন দোভাষীকে ব্যবহার করতে হবে তা বলে।
- এই দোভাষীটি
./script
একটি কমান্ড দ্বারা কার্যকর করা বা ব্যবহার করার সময় ব্যবহার করা হবে : script
( script
অবশ্যই PATH তে থাকতে হবে)
sh script
ব্যবহারটি শি-ব্যাংকে উপেক্ষা করবে এবং sh
দোভাষী হিসাবে এই ক্ষেত্রে ব্যবহার করবে
- ব্যবহার
. script
বা source
সে-ঠুং উপেক্ষা এবং বর্তমান অনুবাদক ব্যবহার (যেহেতু হবে .
বা source
বর্তমান শেল স্ক্রিপ্ট প্রতিটি লাইনে নির্বাহ সমতূল্য)
পাদটিকা
* 1: এটি কেবল প্রায় সত্য। ব্যাশে তারা আসলে একই কমান্ড, তবে ব্যবহারের পরে source
, বর্তমান দিরের আগেscript
AT PATH তে অনুসন্ধান করা হবে । এটি বাশ, তবে পসিক্স-শুধুমাত্র শেলগুলিতে কাজ করে না, তবে তা করে। বরং পরেরটি বহনযোগ্যতার জন্য ব্যবহার করুন।source
.
* ২: আসলে যা ঘটে তা হ'ল আমরা 'স্ক্রিপ্ট' দিয়ে বাইনারি শকে আর্গুমেন্ট হিসাবে চালিত করি, যা এর নতুন শেলের মধ্যে 'sh' এক্সিকিউটিভ 'স্ক্রিপ্ট' তৈরি করবে