সম্পাদনা
টিএল; ডিআর : স্বতঃসম্পূর্ণ শর্টকাট তৈরি করুন .inputrc
এবং এতে কাজ করবে .bashrc
। কমান্ডটি যথারীতি চালান, টাইপ করুন, তবে পরিবর্তে ENTER, আপনি যে শর্টকাটটি নির্দিষ্ট করেছেন তা টিপুন.inputrc
এই প্রশ্নে অনুগ্রহকারী ব্যক্তি বলেছিলেন:
"বিদ্যমান সমস্ত উত্তরের জন্য কমান্ডের পরে একটি অতিরিক্ত কমান্ড টাইপ করা দরকার I আমি এমন উত্তর চাই যা এটি স্বয়ংক্রিয়ভাবে ঘটে" "
এই সমস্যা আমি উপর পদস্খলিত করেছি সমাধান নিয়ে গবেষণা করার সময় এই stackexchange থেকে প্রশ্ন, যা বাঁধাই অনুমতি দেয় CtrlJক্রমানুসারে একাধিক কমান্ড হবে: Ctrlaকমান্ড আপনার লেখা সামনে স্থান "পরিমাপ" স্ট্রিং, (লাইন শুরুতে সরানো) Ctrlm(প্রতিপাদন করুন)
এইভাবে আপনি স্বয়ংক্রিয়ভাবে সমাপ্তির কার্যকারিতা এবং ENTERসময় পরিমাপের জন্য পৃথক কমান্ড পান, যখন দ্বিতীয় কার্যের মূল উদ্দেশ্যটি বজায় রেখে আমি বেলো পোস্ট করেছি।
এখন পর্যন্ত, এখানে আমার ~/.inputrc
ফাইলের বিষয়বস্তু রয়েছে :
"\C-j": "\C-a measure \C-m"
এবং এখানে লিখিত সামগ্রীগুলি রয়েছে .bashrc
(দ্রষ্টব্য, আমি চিরতরে বাশ ব্যবহার করিনি - আমি আমার শেল হিসাবে ম্যাক্স ব্যবহার করি, সুতরাং এটিই আপনি মূল পোস্টে দেখেন Fun কার্যকারিতা এখনও একই)
PS1=' serg@ubuntu [$(pwd)]
================================
$ '
function measure ()
{
/usr/bin/time --output="/home/xieerqi/.timefile" -f "%e" $@
if [ $( cat ~/.timefile| cut -d'.' -f1 ) -gt 15 ]; then
notify-send "Hi , $@ is done !"
fi
}
আসল পোস্ট
এখানে আমার ধারণা - একটি ফাংশন ব্যবহার করুন .bashrc
। বেসিক নীতি - /usr/bin/time
কমান্ডটি সম্পূর্ণ হতে সময়টি পরিমাপ করতে ব্যবহার করুন এবং যদি এটি 15 সেকেন্ডের বেশি হয় তবে বিজ্ঞপ্তি প্রেরণ করুন।
function measure ()
{
if [ $( /usr/bin/time -f "%e" $@ 2>&1 >/dev/null ) -gt 15 ]; then
notify-send "Hi , $@ is done !"
fi
}
এখানে আমি আউটপুটটিকে পুনর্নির্দেশ করছি /dev/null
তবে আউটপুট দেখতে, ফাইলটিতে পুনঃনির্দেশও করা যেতে পারে।
আইএমএইচও, এর থেকে আরও ভাল পদ্ধতির হ'ল আপনার বাড়ির ফোল্ডারের কিছু ফাইলে সময়ের আউটপুট প্রেরণ করা (কেবল যাতে আপনি আপনার সিস্টেমকে টাইমফাইলে দূষিত করেন না এবং সর্বদা কোথায় সন্ধান করতে হয় তা জানতে পারেন)। এখানে দ্বিতীয় সংস্করণ
function measure ()
{
/usr/bin/time --output=~/.timefile -f "%e" $@
if [ $( cat ~/.timefile | cut -d'.' -f1 ) -gt 15 ]; then
notify-send "Hi , $@ is done !"
fi
}
এবং এই ক্রমে প্রথম এবং দ্বিতীয় সংস্করণের স্ক্রিনশট এখানে
প্রথম সংস্করণ, কোনও আউটপুট নেই
আউটপুট সহ দ্বিতীয় সংস্করণ