আমি clear
প্রতিবার টার্মিনালে (আমার কমান্ড কার্যকর করার আগে) কিছু কমান্ড টাইপ করে কমান্ডটি কার্যকর করতে বাশকে কনফিগার করতে চাই । আমি এটা কিভাবে করবো?
আমি ডেবিয়ান লিনাক্স ব্যবহার করছি।
আমি clear
প্রতিবার টার্মিনালে (আমার কমান্ড কার্যকর করার আগে) কিছু কমান্ড টাইপ করে কমান্ডটি কার্যকর করতে বাশকে কনফিগার করতে চাই । আমি এটা কিভাবে করবো?
আমি ডেবিয়ান লিনাক্স ব্যবহার করছি।
উত্তর:
বাশ একটি পূর্ববর্তী হুক আছে । প্রকার, রকম.
preexec () {
clear
}
preexec_invoke_exec () {
[ -n "$COMP_LINE" ] && return # do nothing if completing
[ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return # don't cause a preexec for $PROMPT_COMMAND
local this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`; # obtain the command from the history, removing the history number at the beginning
preexec "$this_command"
}
trap 'preexec_invoke_exec' DEBUG
Enter
কমান্ডটি কার্যকর করার আগে আপনি চাপ দেওয়ার পরে এটি পর্দা সাফ করবে । এটা আমার জন্য এই মত কাজ করে। প্রতিটি ইন্টারেক্টিভ কমান্ডের জন্য প্রিক্সেক হুক কার্যকর করা হয়, কমান্ডটি অন্তর্নির্মিত বা বহিরাগত কমান্ড বা অনেকগুলি কমান্ডের বিষয়টি বিবেচনা করে না।
[ "$BASH_COMMAND" = "$PROMPT_COMMAND" ] && return;
সমস্যাটি সম্পূর্ণ না হলে কিছুই করবেন না যে PROMPT_COMMAND চলছে এবং প্রকৃত কমান্ডের পরেও আটকা পড়েছে; এছাড়াও কেউ আমাকে বলতে পারেন কেন local this_command=`history 1 | sed -e "s/^[ ]*[0-9]*[ ]*//g"`;
এখানে আছেন?
history -1
সামনে কমান্ড লাইনটি মুদ্রণ করে, সামনে একটি ইতিহাস নম্বর থাকে। সেড ফিল্টার ইতিহাসের সংখ্যাটি সরিয়ে দেয়।
bind 'RETURN: "\e[1~clear; \e[4~\n"'
এর পরে প্রতিবার আপনি returnকেবল লেখার পরিবর্তে টিপুন \n
এটি লাইনের শুরুতে চলে যাবে, পাঠ্যটি প্রবেশ করান clear;
, তারপরে প্রান্তে চলে যাবে এবং \n
প্রত্যাশা অনুযায়ী প্রবেশ করবে।
clear
কমান্ড।
clear
কমান্ড এবং কমান্ড আউটপুট অদৃশ্য হওয়ার আগে আমার ক্ষেত্রে কার্যকর করা হয়। তবে প্রম্পট ক্ষেত্রে এটি না।
clear;
প্রতিটি অতিরিক্ত জন্য আউটপুটে সন্নিবেশ করে \n
।
bind "\"\\eOQ\":\"\e[1~ls;#\\n\""
এটি শুরুতে চলে ls;#
যাবে, সেখানে কী ছিল তা মন্তব্য করে টাইপ করুন , এবং ls
সঠিকভাবে কমান্ডটি চালান ! ধন্যবাদ!
আমি আজ জিজ্ঞাসা করা একটি প্রশ্ন থেকে (ব্যবহারকারী @ একোলির উত্তরের কৃতিত্ব সহ ):
bind '"\C-m": "\C-l\C-j"'
\C-m
'Enter' কী simulating, \C-l
simulating Ctrl+l
যেমন এটা পরিষ্কার এবং \C-j
হয় "সম্পর্কে newline-এবং-ইন্ডেন্ট", তাই কমান্ড Ctrl + L & Ctrl + J থেকে এন্টার কী অবিচল
এটি GNU ব্যাশ, সংস্করণ 3.2.53 (1) -রেলেজে (x86_64-আপেল-ডারউইন 14) এবং এই থ্রেডের অন্যান্য উত্তরগুলিতে কাজ করে না। এছাড়াও, এটি প্রতিটি অন্যান্য কমান্ডকে 'পরিষ্কার' কমান্ড দিয়ে ইতিহাসকে দূষিত করে না।
cb4() {
preexec () {
clear
}
}
এটি ডাকা একটি হুক ব্যবহার করে preexec
, নিশ্চিত zsh এর সাথেও কাজ করে
তারপরে আপনার চালিত প্রতিটি কমান্ডের আগে আপনি যে কোনও সেশনটি স্বয়ংক্রিয়ভাবে সাফ করতে চান: cb4
preexec () {
clear
}
শব্দ প্রতিস্থাপন clear
সঙ্গেtput reset
tput
alচ্ছিক তবে পুনরায় সেট করার প্রক্রিয়াটি গতিময় করে