উত্তর:
$prompt: /path/to/scriptএবং এন্টার চাপুন। দ্রষ্টব্য আপনার স্ক্রিপ্টের অনুমতি কার্যকর করেছে তা নিশ্চিত করা দরকার।
/path/to ডিরেক্টরিতে থাকেন, উদাহরণস্বরূপ, cd /path/toকমান্ডের সাহায্যে, আপনি ./scriptআপনার স্ক্রিপ্টটি চালাতে প্রবেশ করতে পারেন forget ভুলে যাবেন না, এই ক্ষেত্রে './' 'স্ক্রিপ্ট'-এর আগে থাকবে
এটি কার্যকর করার আরেকটি উপায় (এবার নির্বাহের অনুমতিগুলি নির্ধারণ না করে):
bash /path/to/scriptname
স্ক্রিপ্টটি রয়েছে এমন ডিরেক্টরিতে সিডি করুন, বা এটি আপনার $ PATH- এ থাকা একটি বিন ফোল্ডারে রেখে দিন
তারপরে টাইপ করুন
./scriptname.sh
একই ডিরেক্টরি বা যদি
scriptname.sh
যদি এটি বিন ফোল্ডারে থাকে।
./scriptname.shআমার জন্য কাজ করে কিন্তু scriptname.shদেয় scriptname.sh: command not found। -rwxr-xr-xএর অনুমতি আছে।
cdকোনও জায়গায় পরামর্শটি অন্য একটি সাধারণ প্রাথমিক ভুল বোঝাবুঝির ঘটনা ঘটায়। যদি স্ক্রিপ্টটির অভ্যন্তরীণভাবে নির্ভরশীলতা না থাকে যার জন্য এটি কোনও নির্দিষ্ট ডিরেক্টরিতে চালিত হয় (যেমন, কোনও ডেটা ফাইল পড়ার প্রয়োজন যা স্ক্রিপ্ট অনির্বাচিতভাবে নির্দেশ করতে কোনও বিকল্প সরবরাহ করে না) cdএটি চালানোর জন্য আপনার কখনই দরকার হবে না এবং খুব খুব প্রায়শই চাইবে না।
আপনি করতে পারেন:
sh scriptname.sh
shসিম্পলিংক হয় bashবা স্ক্রিপ্টটি কোনও ব্যাশ-নির্দিষ্ট নির্মাণ ব্যবহার করে না। পূর্ববর্তী ক্ষেত্রে, bashপরিবর্তে ব্যবহার করা shহ'ল একমাত্র সঠিক, পোর্টেবল সমাধান; পরবর্তী ক্ষেত্রে, এটি এই নির্দিষ্ট প্রশ্নের সঠিক উত্তর নয়, কারণ ওপি বিশেষত বাশ লিপির জন্য পরামর্শ চেয়েছিল। ভুল উত্তোলন করা দায়িত্বজ্ঞানহীন; ব্যবহারকারীরা যারা প্রায়শই এখানে পোস্ট করে তফাতটি বুঝতে ব্যর্থ হন এবং তাদের দেখানো দরকার কেন এটি "আমার পক্ষে কাজ করেছে" উত্তরটি তাদের পক্ষে কার্যকর হয়নি।
প্রথমত আপনি এটি ব্যবহার এক্সিকিউটেবল করতে হবে: chmod +x name_of_your_file_script।
আপনি এটি কার্যকর করার পরে, আপনি এটি ব্যবহার করে চালাতে পারেন ./same_name_of_your_file_script
সিডি কমান্ড ব্যবহার করে স্ক্রিপ্টটি যেখানে অবস্থিত সেখানে আপনার ডিরেক্টরিটি পরিবর্তন করুন
তারপরে টাইপ করুন
bash program-name.sh
cdকোথাও দরকার নেই ; যুক্তি হিসাবে আপনি একটি নির্বিচারে জটিল পথের নামটি নির্দিষ্ট করতে পারেন bash; প্রকৃতপক্ষে, যে কোনও প্রোগ্রাম যা কোনও ফাইল নামের যুক্তিটি গ্রহণ করে সেগুলি এইভাবে কাজ করে (বা ভীতিজনকভাবে, মনের-অদ্ভুতভাবে ভাঙা)।
এটি একটি পুরানো থ্রেড, তবে আমি এটি জুড়ে এসেছি এবং আমি অবাক হয়েছি যে এখনও পর্যন্ত কেউ একটি সম্পূর্ণ উত্তর দেয়নি। সুতরাং এখানে যায় ...
প্রশ্ন: আমি কীভাবে এটি টার্মিনালে চালাব?
বিভ্রান্তি এবং সংঘাত:
sudo। এই কমান্ডটি অন্য ব্যবহারকারী বা 'রুট' (প্রশাসক) ব্যবহারকারী হিসাবে চলমান কমান্ডের জন্য সংরক্ষিত। দুর্দান্ত পোস্ট এখানে ।(যে ব্যক্তি কেবলমাত্র স্ক্রিপ্টগুলি কার্যকর করতে শিখছেন সেগুলি নতুন প্রোগ্রাম ইনস্টল করার মতো প্রকৃত প্রয়োজন না হলে এই কমান্ডটি ব্যবহার করা উচিত নয় your আপনার স্ক্রিপ্টগুলি রাখার জন্য একটি ভাল জায়গা আপনার bin / বিন ফোল্ডারে রয়েছে by আপনি সেখানে যেতে পারেন টাইপ করতে cd ~/binবা cd $HOME/binটার্মিনাল প্রম্পট থেকে that ফোল্ডারে আপনার সম্পূর্ণ অনুমতি থাকবে))
ইউনিক্স / লিনাক্স টাইপ সিস্টেমে টার্মিনাল থেকে "এই স্ক্রিপ্টটি কার্যকর করতে" আপনাকে তিনটি জিনিস করতে হবে:
সিস্টেমটিকে স্ক্রিপ্টের অবস্থানটি বলুন। (একটা তোল)
/path/to/script.sh)। আপনি টাইপ করে pwdবা পুরো পথটি যাচাই করতে পারেনecho $PWD টার্মিনালে ।./পথের জন্য ব্যবহার করুন (উদাঃ ./script.sh)। সহজ।PATHনামটি (টাইপ করুন script.sh) টাইপ করুন । আপনি PATHটাইপ করে echo $PATHবা echo -e ${PATH//:/\\n}যদি একটি সুন্দর তালিকা চান তবে আপনি সিস্টেমটি যাচাই করতে পারেন।সিস্টেমটিকে বলুন যে স্ক্রিপ্টটি কার্যকর করার অনুমতি পেয়েছে। (একটা তোল)
chmod +x /path/to/script.shটার্মিনালে টাইপ করে "এক্সিকিউট বিট" সেট করুন ।chmod 755 /path/to/script.shযদি সংখ্যা পছন্দ করেন তবে আপনি এটিও ব্যবহার করতে পারেন। একটা শীতল চার্ট সঙ্গে একটি মহান আলোচনা এখানে ।সিস্টেমটিকে স্ক্রিপ্টের ধরণটি বলুন। (একটা তোল)
BASH /path/to/script.shবা PHP /path/to/script.php) স্ক্রিপ্টটির যদি কোনও এক্সটেনশন থাকে, যেমন। php বা .py, এটি স্ক্রিপ্ট নামের অংশ এবং আপনাকে অবশ্যই এটি অন্তর্ভুক্ত করতে হবে।#!/bin/bash) আপনার উদাহরণটিতে। আপনার স্ক্রিপ্টের প্রথম লাইন হিসাবে যদি এটি থাকে তবে সিস্টেমটি সেই প্রোগ্রামটি স্ক্রিপ্টটি কার্যকর করতে ব্যবহার করবে। প্রোগ্রাম টাইপ করার বা এক্সটেনশনগুলি ব্যবহার করার দরকার নেই।PATHব্যবহার করে #!/usr/bin/envপ্রোগ্রাম নাম (যেমন দ্বারা অনুসরণ #!/usr/bin/env bashবা #!/usr/bin/env python3)। এখানে পুঙ্খানুপুঙ্খভাবে আলোচনা হিসাবে বিভিন্ন মতামত আছে ।script.shএবং script.phpএই স্ক্রিপ্টগুলির আক্ষরিক ফাইলের নাম এবং আপনি যদি ফাইলের নামটিতে একটি এক্সটেনশন রেখে থাকেন তবে স্ক্রিপ্টটি চালানোর সময় আপনাকে এটি অন্তর্ভুক্ত করতে হবে (এবং বিপরীতে; যদি স্ক্রিপ্টটি না করে ' টি এর একটি এক্সটেনশন রয়েছে, একটি রাখবেন না)। এটি যেমন ডস এর বিপরীতে যেখানে আপনি ফাইলের নাম .batবা .exeফাইল নাম বাদ দিতে পারেন এবং এক্সিকিউটেবল হিসাবে বিবেচিত হওয়ার জন্য ফাইলগুলি একটি ছোট সেট থেকে এক্সটেনশন থাকা দরকার।
আপনি যদি কোনও ডিরেক্টরি বা ফোল্ডারে থাকেন যেখানে স্ক্রিপ্ট ফাইল উপলব্ধ থাকে তবে কেবল সম্পাদনযোগ্য মোডে ফাইলের অনুমতিটি পরিবর্তন করে করুন
chmod +x your_filename.sh
এর পরে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে স্ক্রিপ্টটি চালাবেন।
$ sudo ./your_filename.sh
উপরে "." বর্তমান ডিরেক্টরি উপস্থাপন। বিঃদ্রঃ! আপনি যদি সেই ডিরেক্টরিতে নেই যেখানে বাশ স্ক্রিপ্ট ফাইলটি উপস্থিত থাকে তবে আপনি যেখানে ডিরেক্টরিটি ফাইলটি ব্যবহার করে সেখানে অবস্থিত করেন change
cd Directory_name/write the complete path
কমান্ড। অন্যথায় আপনার স্ক্রিপ্ট চলতে পারে না।
sudoএটি ভুল এবং সম্ভাব্য মারাত্মকভাবে ভুল যদি আপনি এটি অবিশ্বস্ত স্ক্রিপ্টে ব্যবহার করেন যা অকারণে আপনাকে দেওয়া শক্তিগুলিকে অপমান করে।
cdকোথাও দেওয়া পরামর্শটি বোঝা শক্ত তবে সম্ভবত ভুলও।
chmod +x scriptnameএবং তারপর./scriptname।