শেল স্ক্রিপ্টে কোডের কোনও ব্লক মন্তব্য করার কোনও সহজ উপায় আছে?
শেল স্ক্রিপ্টে কোডের কোনও ব্লক মন্তব্য করার কোনও সহজ উপায় আছে?
উত্তর:
ব্যাশে:
#!/bin/bash
echo before comment
: <<'END'
bla bla
blurfl
END
echo after comment
'
এবং '
প্রায় END
বিভেদক গুরুত্বপূর্ণ অন্যথায় জিনিষ ভিতরে উদাহরণস্বরূপ মত ব্লক হয়, $(command)
পার্স এবং মৃত্যুদন্ড কার্যকর করা হবে না।
EOF
এটি একটি ক্লাসিক উদাহরণ (এবং !
এটির নিজস্বভাবে একটি বিস্ময় চিহ্ন), তবে আপনি মন্তব্য করতে পারেন SNURFLE_BURGERS
বা classical_end_marker
এমন কোনও শব্দ ব্যবহার করতে পারেন যা মন্তব্য করা আউট উপাদানগুলিতে নিজস্ব লাইনে প্রদর্শিত হবে না। আমি ফাঁকা জায়গা ইত্যাদি নিয়ে পরীক্ষার ঝাঁকিয়ে পড়েছি তবে শব্দটি তাদের সাথে খুব ভালভাবে কার্যকর হতে পারে।
:
) যা এর ইনপুটটি পড়ে না এবং সর্বদা একটি সফল মান সহ প্রস্থান করে এবং ইনপুট হিসাবে "মন্তব্য" প্রেরণ করে। এটি খুব বেশি না।
শেল স্ক্রিপ্টে কোনও ব্লক মন্তব্য নেই।
vi
(হ্যাঁ vi
) ব্যবহার করে আপনি লাইন এন থেকে মি পর্যন্ত সহজেই মন্তব্য করতে পারেন
<ESC>
:10,100s/^/#/
(যেটি পড়ছে, 10 লাইন থেকে 100 টি বিকল্প লাইন শুরু (^) একটি # চিহ্ন সহ))
এবং সাথে মন্তব্য আন
<ESC>
:10,100s/^#//
(এটি পড়েছে, 10 থেকে 100 বিকল্প লাইনের শুরু থেকে (^) নোটিং দিয়ে # অনুসরণ করেছে //))
vi
যেখানেই রয়েছে সেখানে প্রায় সর্বজনীন /bin/sh
।
|noh
। পাইপ অতিরিক্ত কমান্ড পৃথক করে এবং noh
নাইটলাইটের জন্য। অনুসন্ধান শব্দ হাইলাইটিং পরবর্তী সময় আপনি যখন কোনও কিছুর অনুসন্ধান করবেন তখন স্বয়ংক্রিয়ভাবে পুনরায় শুরু হবে। উদাহরণ::10,100s/^/#/g|noh
<SHIFT>+G 10 <ENTER>
তারপরে 0
বা নেভিগেটের অন্য কোনও উপায়ে)। তারপরে <CTRL>+V
ভিজ্যুয়াল ব্লক মোডে প্রবেশ করতে ব্যবহার করুন এবং আপনি মন্তব্য করতে চান এমন সমস্ত পংক্তির শুরুটি হাইলাইট করুন (এই উদাহরণে 90 J
)। তারপরে SHIFT+I
হাইলাইট করা ব্লকের আগে প্রবেশ করতে টিপুন । মন্তব্য চিহ্নটি (যেমন #
) লিখুন এবং <ESC>
আপনার উপসর্গটি শেষ করতে টিপুন । এই ব্যাখ্যাটি দুর্দান্ত দীর্ঘ বলে মনে হচ্ছে, তবে আমার অভিজ্ঞতায় এটি অনুশীলনে অনেক দ্রুত।
তুমি ব্যবহার করতে পার:
if [ 1 -eq 0 ]; then
echo "The code that you want commented out goes here."
echo "This echo statement will not be called."
fi
if [ ];
কাজ করে।
if false;
। stackoverflow.com/a/18019516/2097284
নিম্নলিখিত জন্য কাজ করা উচিত sh
, bash
, ksh
এবং zsh
।
মন্তব্য করা কোডের ব্লকগুলি ভিতরে রাখা যেতে পারে BEGINCOMMENT
এবং ENDCOMMENT
:
[ -z $BASH ] || shopt -s expand_aliases
alias BEGINCOMMENT="if [ ]; then"
alias ENDCOMMENT="fi"
BEGINCOMMENT
echo "This line appears in a commented block"
echo "And this one too!"
ENDCOMMENT
echo "This is outside the commented block"
উপরের কোডটি কার্যকর করার ফলাফল হবে:
This is outside the commented block
কোড ব্লকগুলি uncomment করার জন্য এইভাবে মন্তব্য করেছে, বলুন
alias BEGINCOMMENT="if : ; then"
পরিবর্তে
alias BEGINCOMMENT="if [ ]; then"
উপরের উদাহরণে।
আপনি যদি একক উদ্ধৃতি ডজ করতে পারেন:
__='
blah blah comment.
'
: '
খুলতে এবং '
বন্ধ করতে ব্যবহার করুন ।
উদাহরণ স্বরূপ:
: '
This is a
very neat comment
in bash
'
এটি এখানে পাওয়া ভেগাসের উদাহরণ থেকে পাওয়া যায়
ভিমে:
shift-V
(ভিজ্যুয়াল মোডে প্রবেশ করুন), ব্লকটিতে ডাউন হাইলাইট লাইন:s/^/#/
কমান্ডটি দেখতে এইরকম হবে:
:'<,'>s/^/#
প্রবেশ করুন
যেমন
shift-V
jjj
:s/^/#
<enter>
:s/^#/
আপনি ভিআই / ভিমের ভিজ্যুয়াল ব্লক মোড ব্যবহার করতে পারেন যা এই জাতীয় জিনিসগুলির জন্য ডিজাইন করা হয়েছে:
Ctrl-V
Highlight first element in rows you want commented
Shift-i
#
esc
মন্তব্যগুলি হবে:
Ctrl-V
Highlight #'s
d
l
লাইন সংখ্যা গণনা বা পড়ার চেয়ে এই ধরণের জিনিসটি করা vi এর ইন্টারঅ্যাকটিভ উপায়।
শেষ অবধি, জিভিমে আপনি সিটিআরএল-ভি-র পরিবর্তে ভিজ্যুয়াল ব্লক মোডে যেতে সিটিআরএল-কিউ ব্যবহার করেন (কারণ এটি পেস্টের শর্টকাট)।
সমস্ত সততার সাথে, কেন এত বেশি পরিমাণে নজর রাখা ...
প্যাসিভ কোড তৈরির জন্য সক্রিয় কোড লিখতে আমি এটি সত্যই খারাপ অভ্যাস হিসাবে বিবেচনা করি।
আমার সমাধান: বেশিরভাগ সম্পাদকের ব্লক নির্বাচন মোড থাকে। আপনি মন্তব্য করতে চান এমন সমস্ত লাইনে # যুক্ত করতে এটি ব্যবহার করুন। বড় চুক্তি কি...
নোটপ্যাড উদাহরণ:
তৈরি করতে: Alt - mousedrag ডাউন, # টিপুন।
মুছতে: Alt-mousedrag ডাউন, শিফট-ডান তীর, মুছুন।
সানি 256 দ্বারা গৃহীত উত্তরের এ-ডক কৌতূহলের একটি পার্থক্য মন্তব্যগুলির জন্য পার্ল কীওয়ার্ড ব্যবহার করা। যদি আপনার মন্তব্যগুলি প্রকৃতপক্ষে কোনও প্রকারের ডকুমেন্টেশন হয় তবে আপনি মন্তব্য ব্লকের অভ্যন্তরে পার্ল বাক্য গঠন ব্যবহার শুরু করতে পারেন যা আপনাকে এটিকে সুন্দরভাবে ফর্ম্যাট করে মুদ্রণ করতে, ম্যান-পৃষ্ঠায় রূপান্তর করার অনুমতি দেয় ইত্যাদি allows
যতক্ষণ শেল সম্পর্কিত, আপনার কেবল এটির 'END'
সাথে প্রতিস্থাপন করতে হবে '=cut'
।
echo "before comment"
: <<'=cut'
=pod
=head1 NAME
podtest.sh - Example shell script with embedded POD documentation
etc.
=cut
echo "after comment"
(" শেল স্ক্রিপ্টে এম্বেডিং ডকুমেন্টেশন " তে পাওয়া গেছে )
অন্য মোডটি হ'ল: আপনার সম্পাদক যদি কোনও ব্লক মন্তব্য বিকল্প না করে থাকে,
সম্পন্ন
এটি কোনও সম্পাদকের সাথে কাজ করে
আমি একক লাইন খোলা এবং বন্ধ চাই:
if [ ]; then ##
...
...
fi; ##
'##' আমাকে সহজেই ব্লক মন্তব্যটির শুরু এবং শেষ করতে সহায়তা করে। আমি যদি কিছু সংখ্যক পাই তবে আমি '##' এর পরে একটি সংখ্যা আটকে রাখতে পারি। মন্তব্যটি বন্ধ করতে, আমি কেবল '['] 'তে একটি' 1 'রেখেছি। মন্তব্য করা ব্লকে একক-কোটাসহ কিছু সমস্যাও এড়িয়ে গিয়েছি।