কমান্ডগুলি চলাকালীন, কখনও কখনও আমি পূর্ববর্তীগুলির তর্কগুলি দিয়ে একটি কমান্ড চালাতে চাই। এটি করতে, আপনি এই শর্টকাটটি ব্যবহার করতে পারেন:
$ mkdir /tmp/new
$ cd !!:*
মাঝে মাঝে, ফাইন্ড ব্যবহারের পরিবর্তে, যদি আমি ফাইলগুলির তালিকায় একটি গুচ্ছ কমান্ড চালাতে চাই তবে আমি একটি লাইন লুপটি বের করব।
for file in *.wav; do lame "$file" "$(basename "$file" .wav).mp3" ; done;
আমার .বাশ_লগিন (বা .bashrc) এ কমান্ড-লাইন ইতিহাস বিকল্পগুলি কনফিগার করা সত্যিই দরকারী। নীচে সেটিংসের একটি ক্যাডার যা আমি আমার ম্যাকবুক প্রোতে ব্যবহার করি।
নিম্নলিখিতটি সেট করা আপনার ইতিহাসে ডাবলিকেট কমান্ডগুলি মুছে ফেলবে:
export HISTCONTROL="erasedups:ignoreboth"
আমি আমার ইতিহাসের আকারটি বেশ উচ্চ পর্যন্ত জ্যাক করেছি। কেন না? এটি আজকের মাইক্রোপ্রসেসরগুলিতে কোনও গতি কমিয়ে দেবে বলে মনে হচ্ছে না।
export HISTFILESIZE=500000
export HISTSIZE=100000
আর একটি জিনিস যা আমি করি তা হ'ল আমার ইতিহাসের কিছু আদেশ ignore প্রস্থান আদেশটি মনে রাখার দরকার নেই।
export HISTIGNORE="&:[ ]*:exit"
আপনি অবশ্যই হিস্টপেন্ড সেট করতে চান। অন্যথায়, আপনি যখন প্রস্থান করবেন তখন ব্যাশ আপনার ইতিহাস ওভাররাইট করে।
shopt -s histappend
আর একটি বিকল্প যা আমি ব্যবহার করি তা হ'ল সেমিডিহিস্ট। এটি আপনাকে এক কমান্ড হিসাবে ইতিহাসে বহু-লাইন কমান্ডগুলি সংরক্ষণ করতে দেয়।
shopt -s cmdhist
শেষ অবধি, ম্যাক ওএস এক্সে (আপনি যদি ভিআই মোড ব্যবহার না করেন), আপনি <সিটিআরএল> -এসটিকে স্ক্রোল স্টপ থেকে পুনরায় সেট করতে চাইবেন। এটি বাশকে এটি এগিয়ে অনুসন্ধান হিসাবে ব্যাখ্যা করতে সক্ষম হতে বাধা দেয়।
stty stop ""