অনেকবার আমি বড় হাতের অক্ষরে সমস্ত অক্ষর (একটি কারণ সম্ভবত চালু CapsLockছিল) দিয়ে একটি কমান্ড চালিয়েছি এবং এটি Enterউপলব্ধি করার আগে আমি টিপলাম ।
ছোট অক্ষরে রূপান্তরিত সমস্ত অক্ষর দিয়ে আমি কীভাবে শেষ কমান্ডটি চালাব?
অনেকবার আমি বড় হাতের অক্ষরে সমস্ত অক্ষর (একটি কারণ সম্ভবত চালু CapsLockছিল) দিয়ে একটি কমান্ড চালিয়েছি এবং এটি Enterউপলব্ধি করার আগে আমি টিপলাম ।
ছোট অক্ষরে রূপান্তরিত সমস্ত অক্ষর দিয়ে আমি কীভাবে শেষ কমান্ডটি চালাব?
উত্তর:
??
আপনার .bashrc
ফাইলটিতে নিম্নলিখিত ছোট ফাংশনটি যুক্ত করে (এটি আমি খুব সাধারণ বলে আছি , তবে আপনি এটি নিজের ইচ্ছানুসারে পরিবর্তন করতে পারেন) যোগ করে তা সম্পাদন করতে পারেন :
?? () { "${@,,}"; }
পরবর্তী, আপনি যখন চালাবেন:
?? !!
শেষ কমান্ডটি ছোট অক্ষরে সমস্ত অক্ষর দিয়ে চালানো হবে।
!!
: এটি বাশের ইতিহাস সরঞ্জামগুলির অংশ, বিশেষত, এটি শেষ কমান্ড রানটিতে প্রসারিত । সুতরাং, উদাহরণস্বরূপ, echo !!
এই নির্দিষ্ট শেল সেশনে রান করা শেষ কমান্ডটি মুদ্রণ করবে।"${@,,}
: কনস্ট্রাক্ট ভেরিয়েবলের ${foo,,}
সামগ্রীগুলি$foo
সমস্ত ছোট হাতের অক্ষরে রূপান্তরিত করবে। $@
অবস্থানগত পরামিতিগুলির অ্যারে। যখন কোনও ফাংশনের অভ্যন্তরে ব্যবহৃত হয়, তখন এটি সেই ফাংশনে পাস হওয়া পরামিতিগুলিতে প্রসারিত হয়।সুতরাং, "${@,,}"
কেবল ফাংশনটিতে যা কিছু পাস হয়েছে তা ছোট হাতের মধ্যে রূপান্তরিত করবে এবং তারপরে এটি সম্পাদন করবে। সুতরাং, প্যারামিটার হিসাবে ??
ফাংশনটি !!
চালানো শেষ কমান্ডটিকে ছোট হাতের অক্ষরে রূপান্তরিত করবে এবং এটি চালাবে।
"!!"
।
??
তার যুক্তিগুলির চিঠিগুলি নিম্নতরগুলিতে রূপান্তরিত করে এবং !!
বর্তমান কমান্ডের পূর্ববর্তী কমান্ডকে অটোমেটিক্যালি পুনরায় লিখবে (সুতরাং এটি ??
গ্রহণ করবে) পূর্ববর্তী আদেশটি তর্ক করুন)।
`প্রতিধ্বনি !! | ট্র '[: উচ্চতর:]' '[: নিম্ন:]' `
কীটি `
(ব্যাকটিক্স) উদ্ধৃতিতে রয়েছে - যা আউটপুটটি কমান্ড হিসাবে চালায়।
tr
আমার প্রথম পছন্দ হবে। এছাড়াও কাজ করে (ব্যাকটিক্সের বিকল্প এবং $( echo !! | tr '[A-Z]' '[a-z]')
এখানে একটি প্রোগ্রামার উত্তর আসে .... অজগর ব্যবহার করুন:
`echo "print '!!'.lower()" | python`
বা রুবি:
`echo "print '!!'.downcase" | ruby`
বা পার্ল (সম্ভবত আমার প্রিয়):
`perl -e "print lc('!!');"`
বা পিএইচপি:
`php -r "print strtolower('!!');"`
বা আওক:
`echo "!!" | awk '{ print tolower($1) }'`
বা শেড:
`echo "!!" | sed 's/./\L&/g'`
বা বাশ:
str="!!" ; ${str,,}
বা zsh
echo "A='!!' ; \$A:l" | zsh
অথবা যদি আপনার কাছে থাকে তবে নোডজেএস:
`echo "console.log('!!'.toLowerCase());" | node`
আপনি ব্যবহার করতে পারেন dd
(কিন্তু আমি না!):
`echo "!!" | dd conv=lcase 2> /dev/null`
কাজটি করতে আপনি একটি ছোট স্ক্রিপ্টও তৈরি করতে পারেন:
sudo bash -c 'cat << EOF > /usr/local/bin/lower
#!/usr/bin/python
import fileinput
print "".join(fileinput.input()).lower(),
EOF' && sudo chmod +x /usr/local/bin/lower
যা আপনি এর মতো ব্যবহার করেন:
`echo !! | lower`
আর সঙ্গে এক sed
,
$(echo !! | sed 's/^\(.*\)$/\L\1/g')
উদাহরণ:
$ SUDO APT-GET UPDATE
SUDO: command not found
$ $(echo !! | sed 's/^\(.*\)$/\L\1/g')
আউটপুট:
$(echo SUDO APT-GET UPDATE | sed 's/^\(.*\)$/\L\1/g')
[sudo] password for avinash:
0% [Waiting for headers] [Waiting for headers] [Waiting for headers] [Connectin^
!!:l
।