কম্পিউটার

লিনাক্স BASH স্ক্রিপ্টিং-এর ওয়ার্ল্ডের মাধ্যমে যাত্রা – তৃতীয় অংশ

'শেল স্ক্রিপ্টিং এর পূর্ববর্তী নিম্নলিখিত নিবন্ধগুলি৷ ' সিরিজগুলি অত্যন্ত প্রশংসিত হয়েছিল এবং তাই আমি এই নিবন্ধটি লিখছি যাতে শেখার শেষ না হওয়া প্রক্রিয়াটি প্রসারিত হয়৷

লিনাক্স BASH স্ক্রিপ্টিং-এর ওয়ার্ল্ডের মাধ্যমে যাত্রা – তৃতীয় অংশ
  1. বেসিক লিনাক্স শেল স্ক্রিপ্টিং ভাষা টিপস বুঝুন – অংশ I
  2. শেল প্রোগ্রামিং শেখার জন্য লিনাক্স নতুনদের জন্য 5 শেল স্ক্রিপ্ট – পার্ট II
ব্যাশ কীওয়ার্ড

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

! esac সিলেক্ট করুন } কেস ফাই তারপর [[ করার জন্য করুন ]] ফাংশন সম্পন্ন করুন যখন elifif সময় অন্য {

বেশিরভাগ কম্পিউটার ভাষার বিপরীতে, ব্যাশ কীওয়ার্ডগুলিকে ভেরিয়েবল নাম হিসাবে ব্যবহার করার অনুমতি দেয় যদিও এটি স্ক্রিপ্টগুলি পড়া কঠিন করে তুলতে পারে। স্ক্রিপ্ট বোধগম্য রাখতে, পরিবর্তনশীল নামের জন্য কী-শব্দ ব্যবহার করা উচিত নয়।

শেলে $ হিসেবে একটি কমান্ড প্রয়োগ করা হয় (আদেশ)। আপনাকে কমান্ডের সম্পূর্ণ পথ অন্তর্ভুক্ত করতে হতে পারে। যেমন, $(/bin/date) , সঠিক সম্পাদনের জন্য।

আপনি 'whereis ব্যবহার করে নির্দিষ্ট প্রোগ্রামের পথ জানতে পারেন 'আজ্ঞে। যেমন, তারিখ কোথায় আছে

[admin@wsxdn.com /]# যেখানে তারিখ:/bin/date /usr/share/man/man1/date.1.gz

আপাতত এটাই যথেষ্ট। আমরা এখন এই তত্ত্ব সম্পর্কে বেশি কথা বলব না। স্ক্রিপ্টে আসছে।

বর্তমান ওয়ার্কিং ডিরেক্টরি সরান

কার্যকর করার সময় স্ক্রিপ্টের শেষে সংখ্যাসূচক মান প্রদান করে বর্তমান কার্যকারী ডিরেক্টরি থেকে যেকোনো স্তরে যান৷ <পূর্ব>#! /bin/bash LEVEL=$1 এর জন্য ((i =1; i <=LEVEL; i++)) do CDIR=../$CDIR সম্পন্ন cd $CDIR echo "আপনি এখানে আছেন:"$PWD exec /bin/bash

উপরের কোডগুলিকে “up.sh হিসাবে সংরক্ষণ করুন ", আপনার ডেস্কটপে। এটিকে এক্সিকিউটেবল করুন (chmod 755 up.sh ) চালান:

./up.sh 2 (বর্তমান কার্যকারী ডিরেক্টরিকে দুই স্তরের উপরে নিয়ে যাবে)।
./up.sh 4 (বর্তমান কার্যকারী ডিরেক্টরিকে চার স্তরের উপরে নিয়ে যাবে)।

ব্যবহার এবং প্রয়োগের ক্ষেত্র

বৃহত্তর স্ক্রিপ্টে যেটিতে ফোল্ডারের ভিতরে ফোল্ডার থাকে… লাইব্রেরি রয়েছে , বাইনারী , আইকন , এক্সিকিউটেবল , ইত্যাদি বিভিন্ন অবস্থানে, আপনি একজন বিকাশকারী হিসাবে খুব স্বয়ংক্রিয় পদ্ধতিতে পছন্দসই অবস্থানে যাওয়ার জন্য এই স্ক্রিপ্টটি বাস্তবায়ন করতে পারেন৷

দ্রষ্টব্য :ফর হল উপরের স্ক্রিপ্টে একটি লুপ এবং লুপের জন্য মান সত্য না হওয়া পর্যন্ত এটি কার্যকর হতে থাকবে৷

নমুনা আউটপুট
[admin@wsxdn.com /]# chmod 755 আপ[admin@wsxdn.com /]# ./up.sh 2 আপনি এখানে আছেন:/[admin@wsxdn.com /]# ./up.sh 4 আপনি আছে:/ [admin@wsxdn.com /]#

up.sh ডাউনলোড করুন

একটি র্যান্ডম ফাইল বা ফোল্ডার তৈরি করুন

একটি এলোমেলো ফাইল (ফোল্ডার) তৈরি করুন যাতে ডুপ্লিকেশনের কোন সুযোগ নেই।

<পূর্ব>#! /bin/bashecho "হ্যালো $USER";echo "$(uptime)">> "$(date)।"txtecho "আপনার ফাইল $(pwd) এ সংরক্ষণ করা হচ্ছে"

এটি একটি সাধারণ স্ক্রিপ্ট কিন্তু এটি কাজ করছে তেমন সহজ নয়৷

  1. প্রতিধ্বনি ' :উদ্ধৃতির মধ্যে লেখা সবকিছু প্রিন্ট করে।
  2. $ ' :একটি শেল পরিবর্তনশীল৷
  3. >> ' :আউটপুটটি তারিখের আউটপুটে পুনঃনির্দেশিত হয় কমান্ডের পরে txt এক্সটেনশন।

আমরা তারিখের আউটপুট জানি কমান্ড হল তারিখ , এবং সময় ঘন্টায় , মিনিট, দ্বিতীয় বছর সহ . তাই আমরা ফাইলের নাম অনুলিপি করার সুযোগ ছাড়াই একটি সংগঠিত ফাইল নামের আউটপুট পেতে পারি। যখন ব্যবহারকারীর টাইম স্ট্যাম্প দিয়ে তৈরি করা ফাইলের প্রয়োজন হয় তখন এটি খুব কার্যকর হতে পারে ভবিষ্যতের রেফারেন্সের জন্য।

নমুনা আউটপুট
[admin@wsxdn.com /]# ./randomfile.sh হ্যালো সার্ভার আপনার ফাইল /home/server/Desktop এ সংরক্ষিত হচ্ছে

আপনি আজকের তারিখ এবং বর্তমান সময়ের সাথে ডেস্কটপে তৈরি করা ফাইলটি দেখতে পারেন।

[admin@wsxdn.com /]# ন্যানো Sat\ Jul\ 20\ 13\:51\:52\ IST\ 2013.txt 13:51:52 পর্যন্ত 3:54, 1 জন ব্যবহারকারী, লোড গড়:0.09, 0.12, 0.08

উপরের স্ক্রিপ্টের আরও বিস্তারিত বাস্তবায়ন নীচে দেওয়া হয়েছে, যা উপরের নীতির উপর কাজ করে এবং Linux-এর নেটওয়ার্ক তথ্য সংগ্রহ করতে খুবই উপযোগী। সার্ভার।

randomfile.sh ডাউনলোড করুন

নেটওয়ার্ক তথ্য সংগ্রহ করার জন্য স্ক্রিপ্ট

Linux-এ নেটওয়ার্ক তথ্য সংগ্রহ করে সার্ভার স্ক্রিপ্টটি খুব বড় এবং এখানে স্ক্রিপ্টের পুরো কোড এবং আউটপুট পোস্ট করা সম্ভব নয়। সুতরাং, নিচের ডাউনলোড লিঙ্কটি ব্যবহার করে স্ক্রিপ্টটি ডাউনলোড করে নিজে পরীক্ষা করাই ভালো।

দ্রষ্টব্য :আপনাকে lsb-core ইনস্টল করতে হতে পারে প্যাকেজ এবং অন্যান্য প্রয়োজনীয় প্যাকেজ এবং নির্ভরতা। উপযুক্ত অথবা ইম প্রয়োজনীয় প্যাকেজ। স্পষ্টতই আপনাকে রুট হতে হবে স্ক্রিপ্ট চালানোর জন্য কারণ এখানে ব্যবহৃত বেশিরভাগ কমান্ড রুট হিসাবে চালানোর জন্য কনফিগার করা হয়েছে .

নমুনা আউটপুট
[admin@wsxdn.com /]# ./collectnetworkinfo.sh নেটওয়ার্ক কনফিগারেশন তথ্য network.20-07-13.info.txt এ লেখা . অনুগ্রহ করে এই ফাইলটিকে admin@wsxdn.com_provider.com-এ ইমেল করুন . ktop

আপনি আপনার স্ক্রিপ্টে উপরের ইমেল ঠিকানাটি পরিবর্তন করতে পারেন যাতে এটি আপনাকে মেল করা হয়। স্বয়ংক্রিয়ভাবে তৈরি করা ফাইলটি দেখা যেতে পারে।

collectnetworkinfo.sh ডাউনলোড করুন

স্ক্রিপ্ট UPPERCASE কে ছোট হাতের অক্ষরে রূপান্তর করে

একটি স্ক্রিপ্ট যা UPPERCASE রূপান্তর করে৷ ছোট হাতের অক্ষরে এবং আউটপুটটিকে একটি টেক্সট ফাইল “small.txt-এ পুনঃনির্দেশ করে যা প্রয়োজন অনুযায়ী পরিবর্তন করা যেতে পারে।

#!/bin/bash echo -n "ফাইলের নাম লিখুন :" ফাইলের নাম পড়ুন যদি [ ! -f $fileName]; তারপর ইকো "ফাইলের নাম $fileName বিদ্যমান নেই" প্রস্থান করুন 1 fi tr '[A-Z]' '[a-z]' <$fileName>> small.txt

উপরের এই স্ক্রিপ্টটি বড় হাতের অক্ষর থেকে এক ক্লিকে যেকোনো দৈর্ঘ্যের ফাইলের কেস রূপান্তর করতে পারে ছোট হাতের অক্ষরে এবং প্রয়োজনে উল্টোটা, সামান্য পরিবর্তন সহ।

নমুনা আউটপুট
[admin@wsxdn.com /]# ./convertlowercase.sh ফাইলের নাম লিখুন:a.txt প্রাথমিক ফাইল:ABCDEFGHIJK...

নতুন ফাইল (small.txt ) আউটপুট:

abcdefghijk...

convertlowercase.sh ডাউনলোড করুন

সরল ক্যালকুলেটর প্রোগ্রাম

<পূর্ব>#! /bin/bash স্পষ্ট যোগফল=0 i="y" প্রতিধ্বনি " একটি নম্বর লিখুন।" n1 ইকো পড়ুন "সেকেন্ড নং লিখুন।" n2 পড়ুন যখন [ $i ="y" ] প্রতিধ্বনি করুন "1. সংযোজন" প্রতিধ্বনি "2. বিয়োগ" প্রতিধ্বনি "3. গুণ" প্রতিধ্বনি "4. বিভাগ" প্রতিধ্বনি "আপনার পছন্দ লিখুন" 1 এ ch কেস $ch পড়ুন) sum=`expr $n1 + $n2` প্রতিধ্বনি "Sum="$sum;; 2)sum=`expr $n1 - $n2` প্রতিধ্বনি "সাব ="$সমষ্টি;; 3) sum=`expr $n1 \* $n2` echo "Mul ="$sum;; 4) sum=`expr $n1 / $n2` echo "Div ="$sum;; *)প্রতিধ্বনি "অবৈধ পছন্দ";; esac ইকো "আপনি কি চালিয়ে যেতে চান (y/n))?" পড়ুন i if [ $i !="y" ] তারপর প্রস্থান করুন fi সম্পন্ন
নমুনা আউটপুট
[admin@wsxdn.com /]# ./simplecalc.sh একটি নম্বর লিখুন। 12 দ্বিতীয় নম্বর লিখুন 14 1.সংযোজন 2.বিয়োগ 3.গুণ 4.বিভাগ আপনার পছন্দ লিখুন 1 যোগফল =26 আপনি কি চালিয়ে যেতে চান (y/n))? y1.সংযোজন 2.বিয়োগ 3.গুণ 4.বিভাগ আপনার পছন্দ লিখুন 3 mul =14812আপনি কি চালিয়ে যেতে চান (y/n))? n

download simplecalc.sh

তাহলে আপনি কি দেখেছেন এত সহজ উপায় হিসাবে একটি শক্তিশালী প্রোগ্রাম তৈরি করা কতটা সহজ ছিল। এটা শেষ নয়। প্রশাসনের দৃষ্টিকোণ থেকে বিস্তৃত দৃষ্টিকোণকে কভার করে আমরা এই সিরিজের আরও অন্তত একটি নিবন্ধের সাথে কম্পোজ করব।

এখন এ পর্যন্তই. পাঠক এবং সেরা সমালোচক হওয়ার কারণে আপনি এই নিবন্ধে কতটা এবং কী উপভোগ করেছেন এবং ভবিষ্যতের নিবন্ধে আপনি কী দেখতে চান তা আমাদের জানাতে ভুলবেন না। কোন প্রশ্ন অত্যন্ত মন্তব্য স্বাগত জানাই. ততক্ষণ সুস্থ থাকুন , নিরাপদ এবং টিউন করা হয়েছে . লাইক এবং শেয়ার করুন৷ আমাদের এবং আমাদের ছড়িয়ে দিতে সাহায্য করুন৷


  1. লিনাক্স BASH স্ক্রিপ্টিং-এর ওয়ার্ল্ডের মাধ্যমে যাত্রা – তৃতীয় অংশ

  2. লিনাক্সে নেস্টেড ভেরিয়েবল সাবস্টিটিউশন এবং পূর্বনির্ধারিত BASH ভেরিয়েবল - পার্ট 11

  3. শেল স্ক্রিপ্টিং-এ 'লিনাক্স ভেরিয়েবল' বোঝা এবং লেখা - পার্ট 10

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