কম্পিউটার

LinuxScrew এর লিনাক্স শেল/ব্যাশ স্ক্রিপ্টিং টিপস

লিনাক্সে আপনার শেল স্ক্রিপ্ট লেখার সময় মনে রাখার জন্য এখানে কিছু সহজ টিপস রয়েছে৷

লিনাক্সে (এবং MacOS, এবং এখন Windows, Linux-এর জন্য Windows সাবসিস্টেম সহ) আপনার ওয়ার্কফ্লোগুলিকে স্বয়ংক্রিয় করার জন্য শেল স্ক্রিপ্টগুলি একটি বহুমুখী উপায়। শেল স্ক্রিপ্টিং সিনট্যাক্স এবং আচরণের কিছু বৈশিষ্ট্য রয়েছে এবং আপনার স্ক্রিপ্টগুলিকে সরল করার জন্য আপনি ব্যবহার করতে পারেন এমন দরকারী শর্টকাটগুলিও রয়েছে৷

ব্যাশ স্ক্রিপ্টিং টিপস

এই টিপসগুলো ইন্টারনেটের চারপাশ থেকে সংগ্রহ করা হয়েছে, যার মধ্যে আমার নিজের কিছু দেওয়া আছে।

কোন ত্রুটি থাকলেও ব্যাশ স্ক্রিপ্ট চলতে থাকবে!

এটি সমস্যা সৃষ্টি করতে পারে, বিশেষ করে যদি ব্যবহারকারীর ইনপুট গ্রহণ করে এবং ফাইলগুলির সাথে কাজ করে। এই আচরণ প্রতিরোধ করতে সেট কমান্ড যোগ করুন

set -eu

…আপনার স্ক্রিপ্টের শুরুতে। – স্ক্রিপ্টকে ত্রুটিতে প্রস্থান করতে বলে, এবং –u একটি ভেরিয়েবল সেট না থাকলে স্ক্রিপ্টকে প্রস্থান করতে বলে।

সর্বদা শেবাং অন্তর্ভুক্ত করুন

আপনার স্ক্রিপ্টের প্রথম লাইন হিসেবে সর্বদা শেবাং অন্তর্ভুক্ত করুন:

#!/bin/sh

এটি সিস্টেমকে বলে যে কোন শেলটি স্ক্রিপ্টটি ব্যাখ্যা করতে ব্যবহার করা উচিত এবং সামঞ্জস্যের জন্য গুরুত্বপূর্ণ৷ ব্যাশের জন্য লেখা একটি স্ক্রিপ্ট Zsh-এর মধ্যে চালানোর সময় ভিন্নভাবে আচরণ করতে পারে, কিন্তু shebang অন্তর্ভুক্ত করে, আপনি নিশ্চিত করতে পারেন যে এটি সঠিক শেল দিয়ে ব্যাখ্যা করা হয়েছে।

কখনই ব্যবহারকারী sudo নয়৷ আপনার স্ক্রিপ্টে

আপনি একটি স্ক্রিপ্ট চালালে এটি অস্পষ্টতা সৃষ্টি করে এবং পাইপ এবং পুনঃনির্দেশ ব্যবহার করার সময় সমস্যা সৃষ্টি করতে পারে। এটি একটি নিরাপত্তা সমস্যাও বটে। যদি একটি স্ক্রিপ্টের রুট অনুমতির প্রয়োজন হয়, তাহলে পুরো স্ক্রিপ্টটি রুট হিসাবে বা sudo ব্যবহার করে চালানো উচিত .

স্ক্রিপ্টটি একটি স্ক্রিপ্টে রুট/সুডো হিসাবে চালানো হচ্ছে কিনা তা পরীক্ষা করুন

এই কমান্ডটি আপনার স্ক্রিপ্টের শুরুতে যোগ করুন যে এটি রুট/সুডো সুবিধার সাথে চলছে কিনা তা পরীক্ষা করতে। এই কমান্ডের ফলে আপনার স্ক্রিপ্টটি কিছু করার চেষ্টা করার আগে ব্যর্থ হবে, আপনি যখন রুট সুবিধার প্রয়োজন হয় এমন একটি কমান্ড চেষ্টা করে চালানোর পরিবর্তে

# Check if running as root
if ((EUID!=0 )); then
    printf "Please run as root"
exit 1
fi

-y দিয়ে apt প্রম্পটগুলি এড়িয়ে যান

যোগ করুন -y প্রম্পট এড়িয়ে যাওয়ার জন্য আপনার apt কমান্ডের শেষ পর্যন্ত এবং ব্যবহারকারীর ইনপুট ছাড়াই আপনার স্ক্রিপ্টগুলি চালানোর অনুমতি দিন:

sudo apt install nano -y

বা

sudo apt upgrade -y

আপনার পথ উদ্ধৃত করুন!!!

ব্যাশ স্ক্রিপ্ট লেখার সময় আপনার পথ উদ্ধৃত করুন। কেন তা ব্যাখ্যা করার জন্য আমাদের কাছে একটি সম্পূর্ণ নিবন্ধ আছে এটি যথেষ্ট গুরুত্বপূর্ণ।

এবং বর্তমান কার্যরত ডিরেক্টরির জন্য সঠিক

CURR_DIR="$(dirname $0);"
printf -- 'moving application to /opt/app.jar';
mv "${CURR_DIR}/application.jar" /opt/app.jar;

ইউজার ইনপুট থেকে ভেরিয়েবলের জন্য ডিফল্ট মান সেট করুন

যখন ব্যবহারকারীর ইনপুটের জন্য অনুরোধ করা হয়, ডিফল্ট মানগুলি নিম্নলিখিত ব্যবহার করে সেট করা যেতে পারে:

echo "Enter a value"
read val
val=${val:-"Default Value"}

যদি ভেরিয়েবল val এটি পড়ার পরে খালি, ডিফল্ট মান সেট করা হবে৷

অনেক মন্তব্য দিন

এটি আপনার ভবিষ্যৎ নিজের স্বার্থে – আপনি কী করছেন এবং কেন করছেন তা ব্যাখ্যা করুন৷ আপনার কোডের উদ্দেশ্য সম্পর্কে পরিষ্কার হওয়া একটি ভাল স্যানিটী চেক এবং ডিবাগিং এর সাহায্য করে, এবং বিস্তৃত মন্তব্য পরবর্তী তারিখে আপনার কোডে ফিরে আসা সহজ করে তোলে।

প্রিন্ট, প্রিন্ট, প্রিন্ট

আপনি যতটা সম্ভব কনসোলে তথ্য মুদ্রণ করুন, যাতে আপনার স্ক্রিপ্ট ক্র্যাশ হলে, আপনি জানতে পারেন কোথায় হুরমুর শব্দ করে ভাঙ্গা. ডিফল্টরূপে ব্যাশ স্ক্রিপ্টগুলি অগত্যা ভার্বোস নয়৷

একটি প্রস্থান অবস্থা নির্গত করুন

যদি আপনার স্ক্রিপ্ট একটি ত্রুটির সম্মুখীন হয়, নিশ্চিত করুন যে এটি একটি উপযুক্ত প্রস্থান কোড দিয়ে প্রস্থান করে, যাতে অন্য স্ক্রিপ্টগুলি যা এটিকে কল করতে পারে তারা যথাযথভাবে প্রতিক্রিয়া জানাতে পারে৷


  1. শেল স্ক্রিপ্টিং ল্যাঙ্গুয়েজে লিনাক্স "ভেরিয়েবল" এর অন্তর্দৃষ্টি - পার্ট 9

  2. লিনাক্সে কার্যকরী ব্যাশ স্ক্রিপ্ট লেখার জন্য 10টি দরকারী টিপস

  3. উইন্ডোজ 10 এ ব্যাশ (লিনাক্স শেল) কীভাবে ইনস্টল ও ব্যবহার করবেন [টিউটোরিয়াল]

  4. 5টি ব্যবহারিক উদাহরণ সহ ব্যাশ স্ক্রিপ্টিং ভূমিকা টিউটোরিয়াল