শেলচেক একটি স্ট্যাটিক বিশ্লেষণ টুল যা bash/sh শেল স্ক্রিপ্টে খারাপ কোড সংক্রান্ত সতর্কতা এবং পরামর্শ দেখায়। এটি বিভিন্ন উপায়ে ব্যবহার করা যেতে পারে:ওয়েব থেকে আপনার শেল স্ক্রিপ্টটি https://www.shellcheck.net-এ অনলাইন এডিটর (Ace – জাভাস্ক্রিপ্টে লেখা একটি স্বতন্ত্র কোড এডিটর) পেস্ট করে (এটি সর্বদা সর্বশেষ গিটের সাথে সিঙ্ক্রোনাইজ করা হয়) প্রতিশ্রুতিবদ্ধ, এবং তাৎক্ষণিক প্রতিক্রিয়ার জন্য ShellCheck-এ যাওয়ার সবচেয়ে সহজ উপায়৷
বিকল্পভাবে, আপনি এটি আপনার মেশিনে ইনস্টল করতে পারেন এবং টার্মিনাল থেকে এটি চালাতে পারেন, এটিকে আপনার টেক্সট এডিটরের সাথে সাথে আপনার বিল্ড বা টেস্ট স্যুটগুলিতে একীভূত করতে পারেন৷
ShellCheck প্রাথমিকভাবে তিনটি জিনিস করে:
- এটি সাধারণ শিক্ষানবিশের সিনট্যাক্স সমস্যাগুলি নির্দেশ করে এবং ব্যাখ্যা করে যা একটি শেলকে ক্রিপ্টিক ত্রুটি বার্তা দেয়৷
- এটি সাধারণ মধ্যবর্তী স্তরের শব্দার্থিক সমস্যাগুলি নির্দেশ করে এবং ব্যাখ্যা করে যা একটি শেলকে অদ্ভুত এবং কাউন্টার-স্বজ্ঞামূলকভাবে আচরণ করে।
- এটি সূক্ষ্ম সতর্কতা, কর্নার কেস এবং ত্রুটিগুলিও নির্দেশ করে যা ভবিষ্যতের পরিস্থিতিতে একজন উন্নত ব্যবহারকারীর অন্যথায় কাজ করার স্ক্রিপ্ট ব্যর্থ হতে পারে৷
এই নিবন্ধে, আমরা লিনাক্সে আপনার শেল স্ক্রিপ্টগুলিতে বাগ বা খারাপ কোড খুঁজে পেতে বিভিন্ন উপায়ে কীভাবে ShellCheck ইনস্টল এবং ব্যবহার করতে হয় তা দেখাব৷
লিনাক্সে কীভাবে শেলচেক ইনস্টল এবং ব্যবহার করবেন
শেলচেক দেখানো হিসাবে আপনার প্যাকেজ ম্যানেজারের মাধ্যমে সহজেই স্থানীয়ভাবে ইনস্টল করা যেতে পারে।
ডেবিয়ান/উবুন্টুতে
# apt-get install shellcheck
RHEL/CentOS-এ
# yum -y install epel-release # yum install ShellCheck
ফেডোরাতে
# dnf install ShellCheck
একবার ShellCheck ইনস্টল হয়ে গেলে, আসুন আমরা আগে উল্লেখ করেছি বিভিন্ন পদ্ধতিতে কীভাবে ShellCheck ব্যবহার করতে হয় তা দেখে নেওয়া যাক৷
ওয়েব থেকে ShellCheck ব্যবহার করা
https://www.shellcheck.net-এ যান এবং প্রদত্ত Ace এডিটরে আপনার স্ক্রিপ্ট পেস্ট করুন, আপনি নীচের স্ক্রীন শটে দেখানো হিসাবে সম্পাদকের নীচে আউটপুট দেখতে পাবেন৷
নিম্নলিখিত উদাহরণে, পরীক্ষার শেল স্ক্রিপ্ট নিম্নলিখিত লাইনগুলি নিয়ে গঠিত:
#!/bin/bash #declare variables MINARGS=2 E_NOTROOT=50 E_MINARGS=100 #echo values of variables echo $MINARGS echo $E_NONROOT exit 0;
উপরের স্ক্রিনশট থেকে, প্রথম দুটি ভেরিয়েবল E_NOTROOT এবং E_MINARGS ঘোষণা করা হয়েছে কিন্তু অব্যবহৃত, ShellCheck এগুলিকে "প্রস্তাবিত ত্রুটি" হিসাবে রিপোর্ট করে:
SC2034: E_NOTROOT appears unused. Verify it or export it. SC2034: E_MINARGS appears unused. Verify it or export it.
তারপর দ্বিতীয়ত, ভুল নাম (বিবৃতিতে প্রতিধ্বনি $E_NONROOT ) ইকো ভেরিয়েবল E_NOTROOT ব্যবহার করা হয়েছিল , সেজন্য ShellCheck ত্রুটি দেখায়:
SC2153: Possible misspelling: E_NONROOT may not be assigned, but E_NOTROOT is
আবার যখন আপনি ইকো কমান্ডগুলি দেখেন, তখন ভেরিয়েবলগুলি ডবল কোট করা হয়নি (গ্লোবিং এবং শব্দ বিভাজন প্রতিরোধে সহায়তা করে), তাই শেল চেক সতর্কতা দেখায়:
SC2086: Double quote to prevent globbing and word splitting.
টার্মিনাল থেকে ShellCheck ব্যবহার করা
আপনি কমান্ড-লাইন থেকেও ShellCheck চালাতে পারেন, আমরা উপরের একই শেল স্ক্রিপ্টটি নিম্নরূপ ব্যবহার করব:
$ shellcheck test.sh
টেক্সট এডিটর থেকে ShellCheck ব্যবহার করা
আপনি শেলচেকও দেখতে পারেন পরামর্শ এবং সতর্কতা সরাসরি বিভিন্ন সম্পাদকে, এটি সম্ভবত ShellCheck ব্যবহার করার একটি আরও কার্যকর উপায়, একবার আপনি একটি ফাইল সংরক্ষণ করলে, এটি আপনাকে কোডে কোনো ত্রুটি দেখায়৷
ভিম-এ , ALE বা Syntastic ব্যবহার করুন (আমরা এটি ব্যবহার করব):
প্যাথোজেন ইনস্টল করে শুরু করুন যাতে এটি সিনট্যাস্টিক ইনস্টল করা সহজ। pathogen.vim পেতে নিচের কমান্ডগুলি চালান ফাইল এবং এটির প্রয়োজনীয় ডিরেক্টরিগুলি:
# mkdir -p ~/.vim/autoload ~/.vim/bundle && curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim
তারপর এটি আপনার ~/.vimrc এ যোগ করুন ফাইল:
execute pathogen#infect()চালান
একবার আপনি প্যাথোজেন ইনস্টল করলে, এবং আপনি এখন ~/.vim/bundle-এ সিনটাস্টিক রাখতে পারেন নিম্নরূপ:
# cd ~/.vim/bundle && git clone --depth=1 https://github.com/vim-syntastic/syntastic.git
এর পরে, vim বন্ধ করুন এবং এটি পুনরায় লোড করতে এটিকে শুরু করুন, তারপরে নীচের কমান্ডটি টাইপ করুন:
:Helptags
সবকিছু ঠিক থাকলে, আপনার শেলচেক থাকা উচিত Vim এর সাথে একীভূত , নিম্নলিখিত স্ক্রিনশটগুলি দেখায় যে এটি উপরের একই স্ক্রিপ্ট ব্যবহার করে কিভাবে কাজ করে৷
৷উপরের ধাপগুলি অনুসরণ করার পরে যদি আপনি একটি ত্রুটি পান, তাহলে আপনি সম্ভবত প্যাথোজেন ইনস্টল করেননি সঠিকভাবে পদক্ষেপগুলি পুনরায় করুন তবে এটি নিশ্চিত করুন যে আপনি নিম্নলিখিতগুলি করেছেন:
- উভয়টিই তৈরি করেছে ~/.vim/autoload এবং ~/.vim/bundle ডিরেক্টরি।
- আপনার ~/.vimrc-এ এক্সিকিউট প্যাথোজেন#infect() লাইন যোগ করা হয়েছে ফাইল।
- কি ~/.vim/bundle এর ভিতরে সিনট্যাস্টিক এর গিট ক্লোন .
- উপরের সমস্ত ডিরেক্টরি অ্যাক্সেস করার জন্য উপযুক্ত অনুমতি ব্যবহার করুন।
শেল স্ক্রিপ্টে খারাপ কোড চেক করতে আপনি অন্যান্য সম্পাদক ব্যবহার করতে পারেন যেমন:
- Emacs-এ , ফ্লাইচেক ব্যবহার করুন .
- সাবলাইমে, সাবলাইমলিন্টার নিয়োগ করুন।
- এটমে, লিন্টার ব্যবহার করুন।
- অন্যান্য অধিকাংশ সম্পাদকে, GCC ত্রুটি সামঞ্জস্য ব্যবহার করুন।
নোট৷ :আরও শেলচেকিং করতে খারাপ কোডের গ্যালারি ব্যবহার করুন৷
৷ShellCheck Github সংগ্রহস্থল:https://github.com/koalaman/shellcheck
এটাই! এই নিবন্ধে, আমরা দেখিয়েছি কিভাবে ShellCheck ইনস্টল এবং ব্যবহার করতে হয় লিনাক্সে আপনার শেল স্ক্রিপ্টে বাগ বা খারাপ কোড খুঁজে পেতে। নীচের মন্তব্য বিভাগের মাধ্যমে আমাদের সাথে আপনার চিন্তা শেয়ার করুন.
আপনি সেখানে অন্য কোন অনুরূপ সরঞ্জাম জানেন? যদি হ্যাঁ, তাহলে মন্তব্যে তাদের সম্পর্কেও তথ্য শেয়ার করুন৷
৷