কম্পিউটার

শেল প্রোগ্রামিং শেখার জন্য লিনাক্স নতুনদের জন্য 5টি শেল স্ক্রিপ্ট - দ্বিতীয় অংশ

কিছু শেখার জন্য আপনাকে এটি করতে হবে, ব্যর্থ হওয়ার ভয় ছাড়াই। আমি ব্যবহারিকতায় বিশ্বাস করি এবং তাই স্ক্রিপ্টিং ভাষার ব্যবহারিক জগতে আপনার সাথে থাকব।

শেল প্রোগ্রামিং শেখার জন্য লিনাক্স নতুনদের জন্য 5টি শেল স্ক্রিপ্ট - দ্বিতীয় অংশ

এই নিবন্ধটি আমাদের প্রথম নিবন্ধ লিনাক্স শেল এবং বেসিক শেল স্ক্রিপ্টিং বুঝতে - এর একটি এক্সটেনশন - প্রথম অংশ, যেখানে আমরা আপনাকে স্ক্রিপ্টিংয়ের স্বাদ দিয়েছি, অব্যাহত রেখে যে আমরা এই নিবন্ধে আপনাকে হতাশ করব না।

স্ক্রিপ্ট 1:একটি বিশেষ প্যাটার্ন আঁকা

#!/bin/bashMAX_NO=0echo -n "(5 থেকে 9) এর মধ্যে নম্বর লিখুন :"MAX_NOif পড়ুন! [ $MAX_NO -ge 5 -a $MAX_NO -le 9 ]; তারপরে প্রতিধ্বনিত করুন "WTF... আমি 5 এবং 9 এর মধ্যে নম্বর লিখতে বলি, আবার চেষ্টা করুন" 1ficlear এর জন্য প্রস্থান করুন (( i=1; i<=MAX_NO; i++ )) ((s=MAX_NO; s>=i; s) এর জন্য করুন -- )) do echo -n " ​​" এর জন্য করা হয়েছে ( j=1; j<=i; j++ )) echo -n " ​​।" সম্পন্ন প্রতিধ্বনি "" সম্পন্ন ###### দ্বিতীয় পর্যায় ##################### এর জন্য ((i=MAX_NO; i>=1; i-- ))(s=i; s<=MAX_NO; s++ )) do echo -n " ​​" এর জন্য করা হয়েছে (( j=1; j<=i; j++ )) do echo -n "।" সম্পন্ন ইকো ""doneecho -e"\n\n\t\t\t যখনই আপনার সাহায্যের প্রয়োজন হয়, Tecmint.com সর্বদা সেখানে থাকে"

উপরের অধিকাংশই 'কী শব্দের ' আপনার কাছে পরিচিত হবে এবং তাদের বেশিরভাগই স্ব-ব্যাখ্যামূলক। যেমন, MAX ভেরিয়েবলের সর্বোচ্চ মান নির্ধারণ করে, এর জন্য একটি লুপ এবং লুপের মধ্যে যেকোন কিছু বারবার কার্যকর করা হয় যতক্ষণ না ইনপুটের প্রদত্ত মানের জন্য লুপটি বৈধ হয়।

নমুনা আউটপুট
[admin@wsxdn.com ~]# chmod 755 Special_Pattern.sh[admin@wsxdn.com ~]# ./Special_Pattern.shEnter নম্বর (5 থেকে 9) এর মধ্যে :6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . যখনই আপনার সাহায্যের প্রয়োজন হবে, Tecmint.com সর্বদা সেখানে আছে

আপনি যদি কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ সম্পর্কে একটু সচেতন হন, তাহলে উপরের স্ক্রিপ্টটি শেখা কঠিন নয়, এমনকি আপনি কম্পিউটেশন, প্রোগ্রামিং এবং লিনাক্সে নতুন হলেও এটি খুব বেশি কঠিন হবে না।

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

স্ক্রিপ্ট 2:রঙিন স্ক্রিপ্ট তৈরি করা

কে বলে, লিনাক্স বর্ণহীন এবং বিরক্তিকর, নীচের কোডগুলিকে যেকোনো কিছুতে [ডট সংরক্ষণ করুন ] , এটিকে এক্সিকিউটেবল করুন এবং এটি চালান, এটি কেমন ছিল তা আমাকে বলতে ভুলবেন না, ভাবুন আপনি কি অর্জন করতে পারেন, কোথাও এটি বাস্তবায়ন করতে পারেন৷

#!/bin/bashclear echo -e "33[1m Hello World"# বোল্ড ইফেক্টো -e "33[5m ব্লিঙ্ক"# blink effectecho -e "33[0m Hello World"# normalecho -e "33-এ ফিরে [৩১মি হ্যালো ওয়ার্ল্ড"# রেড কালারেচো -ই "৩৩[৩২মি হ্যালো ওয়ার্ল্ড"# গ্রিন কালোরেকো -ই "৩৩[৩৩মি হ্যালো ওয়ার্ল্ড"# স্ক্রিনেকো -ই "৩৩[৩৪মি হ্যালো ওয়ার্ল্ড"ইকো -ই" ৩৩[৩৫ মিঃ Hello World"echo -e"33[36m Hello World"echo -e -n "33[0m"# normalecho -e" 33[41m Hello World"echo -e "33[42m Hello World"echo -e" এ ফিরে যান 33[43m Hello World"echo -e "33[44m Hello World"echo -e "33[45m Hello World"echo -e "33[46m Hello World"echo -e "33[0m Hello World"

দ্রষ্টব্য :রঙের কোড নিয়ে এখনই মাথা ঘামাবেন না, আপনার কাছে গুরুত্বপূর্ণ সেগুলো ধীরে ধীরে আপনার মুখে আসবে।

সতর্কতা৷ :আপনার টার্মিনালে ব্লিঙ্ক করার সুবিধা নাও থাকতে পারে।

নমুনা আউটপুট
[admin@wsxdn.com ~]# chmod 755 Colorfull.sh[admin@wsxdn.com ~]# ./Colorfull.shHello WorldBlinkHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello 

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

স্ক্রিপ্ট 3:একটি ফাইল/ডিরেক্টরি এনক্রিপ্ট করুন

এই স্ক্রিপ্টটি একটি ফাইল এনক্রিপ্ট করবে (মনে আছে? ডিরেক্টরি /ড্রাইভার /…. Linux-এ সবকিছুই ফাইল হিসেবে ধরা হয় ) উপরের স্ক্রিপ্টের বর্তমান সীমাবদ্ধতা হল যে এটি TAB ব্যবহার করে নাম স্বয়ংক্রিয়ভাবে সম্পূর্ণ হওয়া সমর্থন করে না . তাছাড়া, আপনাকে একই ফোল্ডারে এনক্রিপ্ট করার জন্য স্ক্রিপ্ট এবং ফাইল রাখতে হবে। আপনাকে “pinentry-gui ইনস্টল করতে হতে পারে ”, yum ব্যবহার করে অথবা উপযুক্ত প্যাকেজ, যদি প্রয়োজন হয়।

[admin@wsxdn.com ~]# yum install pinentry-gui[admin@wsxdn.com ~]# apt-get install pinentry-gui

Encrypt.sh নামে একটি ফাইল তৈরি করুন ” এবং নিম্নলিখিত স্ক্রিপ্টটি রাখুন, এটিকে এক্সিকিউটেবল করুন এবং দেখানো হিসাবে চালান।

#!/bin/bashecho "স্বাগত, আমি আপনার জন্য একটি ফাইল/ফোল্ডার এনক্রিপ্ট করতে প্রস্তুত" ইকো "বর্তমানে আমার একটি সীমাবদ্ধতা আছে, আমাকে একই ফোল্ডারে রাখুন, যেখানে এনক্রিপ্ট করার জন্য একটি ফাইল উপস্থিত রয়েছে "ইকো" এক্সটেনশনের সাথে সঠিক ফাইলের নাম লিখুন 

নমুনা আউটপুট

[admin@wsxdn.com ~]# chmod 755 Encrypt.sh[admin@wsxdn.com ~]# ./Encrypt.sh স্বাগতম, আমি আপনার জন্য একটি ফাইল/ফোল্ডার এনক্রিপ্ট করতে প্রস্তুত বর্তমানে আমার একটি সীমাবদ্ধতা আছে, আমাকে রাখুন একই ফোল্ডারে, যেখানে একটি ফাইল ক্রিপ্ট করা আছে এক্সটেনশন প্যাকেজ সহ সঠিক ফাইলের নাম লিখুন ┌────────────────────────────────────────────── ───────────────────────────**<বাতিল> │ └─└└──────────────────────────────────────── ──────└──┘দয়া করে এই পাসফ্রেজটি আবার লিখুন ┌───────────────────────────────────────── ───────────────────┐ │ অনুগ্রহ করে এই পাসফ্রেজটি আবার লিখুন │ │>**> │ └│────────────।। ──────┘আমি সফলভাবে ফাইলটি এনক্রিপ্ট করেছি...এখন আমি আসল ফাইলটি সরিয়ে ফেলব

gpg -c :এটি একটি পাসকি ওরফে পাসওয়ার্ড ব্যবহার করে আপনার ফাইলকে এনক্রিপ্ট করবে . শেখার এই প্রক্রিয়ায় আপনি কখনই ভাবেননি যে শেখার আসল প্রক্রিয়াটি এত সহজ হতে পারে। তাহলে একটি ফাইল এনক্রিপ্ট করার পর আপনার কি দরকার? স্পষ্টতই! ফাইল ডিক্রিপ্ট করা। এবং আমি চাই আপনি-শিক্ষার্থী, পাঠক নিজেই ডিক্রিপশন স্ক্রিপ্ট লিখুন, চিন্তা করবেন না আমি আপনাকে মাঝখানে রেখে যাচ্ছি না, আমি শুধু চাই আপনি এই নিবন্ধটি থেকে কিছু অর্জন করুন।

দ্রষ্টব্য :gpg -d filename.gpg> ফাইলের নাম আপনার ডিক্রিপশন স্ক্রিপ্টে এটি বাস্তবায়ন করতে হবে। সফল হলে আপনি মন্তব্যে আপনার স্ক্রিপ্ট পোস্ট করতে পারেন, যদি না হয় আপনি আমাকে আপনার জন্য এটি লিখতে বলতে পারেন।

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

স্ক্রিপ্ট 4:সার্ভারের ব্যবহার পরীক্ষা করা হচ্ছে

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

#!/bin/bash তারিখ; ইকো "আপটাইম:" আপটাইম ইকো "বর্তমানে সংযুক্ত:" w echo "-------------------" ইকো "শেষ লগইন:" last -a |head -3 echo "--------------------" প্রতিধ্বনি "ডিস্ক এবং মেমরি ব্যবহার:" df -h | xargs | awk '{প্রিন্ট "ফ্রি/মোট ডিস্ক:" $11 " / " $9}' বিনামূল্যে -m | xargs | awk '{প্রিন্ট "ফ্রি/টোটাল মেমরি:" $17" / "$8 " MB"}' ইকো "-------------------" start_log=`head -1 /var/log/messages |cut -c 1-12` oom=`grep -ci kill /var/log/messages` echo -n "$start_log থেকে OOM ত্রুটি :" $oom echo "" echo" ---- ----------------" ইকো "ব্যবহার এবং সবচেয়ে ব্যয়বহুল প্রসেস:" top -b |head -3 echo top -b |head -10 |tail -4 echo "--- -----------------" ইকো "TCP পোর্টগুলি খুলুন:" nmap -p- -T4 127.0.0.1 ইকো "--------------- ------" প্রতিধ্বনি "বর্তমান সংযোগ:" ss -s প্রতিধ্বনি "------" প্রতিধ্বনি "প্রসেস:" ps auxf --width=200 echo "---------" echo "vmstat:" vmstat 1 5 
নমুনা আউটপুট
[admin@wsxdn.com ~]# chmod 755 Server-Health.sh[admin@wsxdn.com ~]# ./Server-Health.shTue Jul 16 22:01:06 IST 2013uptime:22:01:06 174 দিন পর্যন্ত, 4:42, 1 ব্যবহারকারী, লোড গড়:0.36, 0.25, 0.18 বর্তমানে সংযুক্ত:22:01:06 পর্যন্ত 174 দিন, 4:42, 1 ব্যবহারকারী, লোড গড়:0.36, 0.25, 0.18 ব্যবহারকারীর বিজ্ঞাপন FROMmin TTY @wsxdn.com IDLE JCPU PCPU WHATtecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03s sshd:tecmint [priv] ---------------------শেষ লগইন:tecmint pts/0 মঙ্গল জুলাই 16 21:48 এখনও লগ ইন আছে 116.72.134.162tecmint pts/0 মঙ্গল জুলাই 16 21:24 - 21:43 (00:19) 116.72.134.162---------- ----------ডিস্ক এবং মেমরি ব্যবহার:ফ্রি/মোট ডিস্ক:292G / 457Gফ্রি/মোট মেমরি:3510 / 3838 MB------ -OOM এরর 14 জুলাই থেকে 03:37 :0 --------------------ব্যবহার এবং সবচেয়ে ব্যয়বহুল প্রক্রিয়া:শীর্ষ - 22:01:07 পর্যন্ত 174 দিন, 4:42, 1 ব্যবহারকারী, লোড গড়:0.36, 0.25, 0.18 টাস্ক:149 মোট, 1 চলছে, 148 ঘুমাচ্ছে, 0 থামছে, 0 zombieCpu(গুলি):0 .1%us, 0.0%sy, 0.0%ni, 99.3%id, 0.6%wa, 0.0%hi, 0.0%si, 0.0%st PID ব্যবহারকারী PR NI VIRT RES SHR S %CPU % MEM টাইম+ কমান্ড 1 রুট 20 0 3788 1128 932 S 0.0 0.0 0:32.94 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 miration 0:07/14. 

দ্রষ্টব্য :আমি আপনাকে স্ক্রিপ্টটি দিয়েছি যা টার্মিনালে নিজেই আউটপুট দেয়, ভবিষ্যতের রেফারেন্সের জন্য ফাইলে আউটপুট পাওয়ার বিষয়ে কীভাবে। রিডাইরেক্ট অপারেটর ব্যবহার করে এটি বাস্তবায়ন করুন।

  1. > ' :পুনঃনির্দেশ অপারেটর একটি ফাইল তৈরি করে, এবং যদি এটি বিদ্যমান থাকে তবে বিষয়বস্তুগুলি ওভাররাইট করা হয়৷
  2. >> ' :আপনি যখন>> ব্যবহার করেন, আপনি তথ্য যোগ করছেন, এটি প্রতিস্থাপন করার পরিবর্তে।
  3. >> '> এর তুলনায় ' নিরাপদ '

Server-Health.sh ডাউনলোড করুন

স্ক্রিপ্ট 5:ডিস্ক স্পেস পরীক্ষা করুন এবং একটি ইমেল সতর্কতা পাঠান

PART পার্টিশনে ডিস্ক ব্যবহার করার সময় একটি ইমেল পাওয়ার বিষয়ে কীভাবে অনুমোদিত সর্বাধিকের চেয়ে বড়, এটি ওয়েব অ্যাডমিনিস্ট্রেটরদের জন্য সামান্য পরিবর্তন সহ একটি জীবন রক্ষাকারী স্ক্রিপ্ট৷

MAX=95admin@wsxdn.comPART=sda1USE=`df -h |grep $PART | awk '{ প্রিন্ট $5 }' | কাট -d'%' -f1` যদি [ $USE -gt $MAX ]; তারপর "ব্যবহৃত শতাংশ:$USE" | প্রতিধ্বনি করুন mail -s "ডিস্কের স্থান ফুরিয়ে যাচ্ছে" $EMAILfi

দ্রষ্টব্য :“USER সরান৷ ” আপনার ব্যবহারকারীর নামের সাথে। আপনি ‘মেইল ব্যবহার করে মেল চেক করতে পারেন ' কমান্ড।

Check-Disk-Space.sh ডাউনলোড করুন

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


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

  2. ভিম-এ শেল স্ক্রিপ্টগুলির জন্য কীভাবে কাস্টম হেডার টেমপ্লেট তৈরি করবেন

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

  4. ShellCheck - একটি টুল যা শেল স্ক্রিপ্টের জন্য সতর্কতা এবং পরামর্শ দেখায়