আপনার টু নিম্নলিখিত যোগ করুন .bash_profile
বা .bashrc
একটি নতুন অধিবেশন আরম্ভ:
function _complete_open {
cur=$2
COMPREPLY=( );
[[ "$COMP_WORDS" = "open" ]] || return
[[ "${COMP_WORDS[ $(( $COMP_CWORD - 1 )) ]}" = "-a" ]] || return
OLDIFS="$IFS"
IFS=$'\n'
local _part="${COMP_WORDS[$COMP_CWORD]}"
if [[ "${_part:0:1}" = '"' || "${_part:0:1}" = "'" ]] ; then
COMPREPLY=( $( compgen -W "$( mdfind kMDItemKind==Application | sed -e 's|.*/||g' -e 's|.app$||' | sort -u )" -- $cur ) )
else
COMPREPLY=( $( compgen -W "$( mdfind kMDItemKind==Application | sed -e 's|.*/||g' -e 's|.app$||' -e 's| |\\\\ |g' | sort -u )" -- $cur ) )
fi
IFS="$OLDIFS"
}
complete -o default -F _complete_open open
কিছু ইনস্টল করার প্রয়োজন নেই। এটি bash
বক্সের বাইরে কাজ করে ।
পূর্ববর্তী বিকল্পটি -a
হলে এবং অন্যথায় পূর্বনির্ধারিত আচরণ প্রদর্শন করা হলে এটি কেবলমাত্র স্বয়ংক্রিয়রূপে প্রোগ্রামের নামগুলি বন্টন করবে , উদাহরণস্বরূপ বর্তমান ডিরেক্টরিতে সমস্ত ফাইলের একটি তালিকা ফেরত দিন বা বর্তমান পথের উপসর্গটি সম্পূর্ণ করুন।
ফলাফলগুলি উত্পন্ন হয়েছে system_profiler SPApplicationsDataType
, যা আপনার সিস্টেমে এইভাবে চালু করা যেতে পারে এমন সমস্ত অ্যাপ্লিকেশন পাওয়ার সহজতম উপায় । তালিকাটি কেবলমাত্র প্রোগ্রামের নামগুলি ফিরিয়ে আনতে প্রক্রিয়া করা হয়, এতে স্পেস থাকতে পারে এবং বান্ডিলের নামগুলি থেকে পৃথক হতে পারে ( .app
প্রত্যয় উপেক্ষা করার পরেও )
ব্যবহার: টাইপ করুন open -a
, একটি স্থান অনুসরণ করুন, তারপরে টিপুন Tab
বা Esc
(আমার সিস্টেমে দু'বার, এটি সর্বত্র আছে কিনা তা নিশ্চিত নয়)।
আমার স্ক্যানারের জন্য সমস্ত সহায়ক অ্যাপ্লিকেশন দেখানোর উদাহরণ:
$ open -a Scan
Scan to E-mail Scan to Excel Scan to Folder Scan to Print Scan to Searchable PDF Scan to Word ScanSnap Manager
এই সমাধানের ত্রুটি এবং সমস্যাগুলি:
আপনার সিস্টেমে এমন অনেকগুলি প্রোগ্রাম রয়েছে যা আপনি হয়ত জানেন না, যেমন সমস্ত কিছুর মতো /System/Library/CoreServices
। আপনি তাদের সমস্ত তালিকা করতে চান না। ওও, উদাহরণস্বরূপ CharacterPalette
বা KeyboardViewer
এইভাবে দেখা এবং লঞ্চ করা সত্যিই সহজ । * যুক্তি mdfind
দিয়ে কল (গুলি) যথাযথভাবে কনফিগার করুন -onlyin
।
এটা ধীর ধরণের, কারণে system_profiler SPApplicationsDataType
। সম্পূর্ণ হওয়ার আগে আপনার দ্বিতীয় বা দুটি অপেক্ষা করতে হতে পারে। এখন mdfind
দ্রুত প্রোগ্রামগুলি পেতে ব্যবহার করে। ধন্যবাদ @ লরি
এটি প্রয়োগের নাম এবং কোটেশনটি বদ্ধ প্রোগ্রামের নামগুলিতে ফাঁকা স্থান পরিচালনা করতে পারে, তবে এটি বরং হ্যাকি। এটিতে প্রথম চরিত্রটি হওয়া উচিত: এটিতে Scan" to "P
বৈধ থাকা অবস্থায় bash
, এই প্রোগ্রামটি এটি সনাক্ত করবে না। সম্পূর্ণরূপে একটি পালানো স্থান পরে কাজ করে না (উদাহরণস্বরূপ Scan\ to
), এই জাতীয় ক্ষেত্রে ( "Scan to
) উদ্ধৃতি চিহ্ন ব্যবহার করুন । পলান শূণ্যস্থান জন্য সমর্থন সম্পূর্ণ করতে শুধুমাত্র ভাল DVD
করার DVD\ Player
।