টার্মিনাল থেকে কেবল কোনও ফাইলের নাম লিখে টাইপ করা


15

আমি জানি যে xdg-openএটি ব্যবহারকারীর পছন্দসই অ্যাপ্লিকেশনটিতে টার্মিনাল থেকে একটি ফাইল খুলবে:

xdg-open filename

তবে আমি আশ্চর্য হই যে কেবলমাত্র টাইপ করে কীভাবে আমি বর্তমান ডিরেক্টরি থেকে একটি ডিফল্ট অ্যাপ্লিকেশনটিতে একটি ফাইল খুলতে পারি:

filename

Enterঅবশ্যই অনুসরণ করা । বেশি না.


1
সম্ভবত আপনি একই ডিরেক্টরিতে একটি ফাইল অনুসন্ধান এবং এক্সডিজি-খুলতে command_not_found_handle()ফাংশনটি সংশোধন করতে পারবেন /etc/bash.bashrc?
ক্রোনাইটিস

1
আমি উপনাম ব্যবহার করে আপনার কিছু ঝুঁকি হ্রাস করতে পারি। ওরফে ওপেন = "এক্সডিজি-ওপেন" ওপেন হ'ল একটি পরিবর্তনশীল। আপনি এটি চান হিসাবে সংক্ষিপ্ত করতে পারেন।
r 24dʒɑ

উত্তর:


20

কমান্ড নট ফাইন্ড ম্যাজিক-এcommand-not-found উল্লিখিত উবুন্টুর হুক ব্যবহার করুন । এটি বর্তমানে প্যাকেজগুলি ইনস্টল করার পরামর্শ দেওয়ার জন্য ব্যবহৃত হয়। পড়ুন যা আপনার সিস্টেমে ইনস্টল করতে হবে।/usr/share/doc/command-not-found/README

আরও ভাল, কারণ এটি command-not-foundপ্যাকেজের উপর নির্ভর করে না , (আবার) বাশ অন্তর্নির্মিত একটি বিদ্যমান ফাইল যদি এটি command_not_found_handleকরতে করতে প্রয়োগ করে এবং অন্যান্য বাস্তবায়নগুলি পূর্ববর্তী প্রয়োগের জন্য প্রেরণ করে।xdg-open$1

# Save the existing code for the handler as prev_command_not_found_handle.
# Bit of a hack, as we need to work around bash's lack of lexical closure,
# and cover the case when it is not defined at all.
eval "prev_$(declare -f command_not_found_handle)" >& /dev/null \
     || prev_command_not_found_handle () { 
            echo "$1: command not found" 1>&2
            return 127
        }

# Define the new implementation, delegating to prev_handler.
command_not_found_handle () {
    if [ -f "$1" ]; then
        xdg-open "$1"
    else
        prev_command_not_found_handle "$@"
    fi
}

ভাল প্রশ্ন, নিফটি বৈশিষ্ট্য।


এটি আরও কিছুটা চিন্তা করে দেখানো: আপনি bash_completionহ্যান্ডলারটি প্রসারিত না করা পর্যন্ত আপনার বৈশিষ্ট্যটি ততটা পছন্দ হতে পারে না । কল্পনা করুন খুলতে চান file-with-a-long-name.txt, তারপরে সেটিং

alias o='xdg-open'  

চারটি কী টিপুন (প্রায়) যথেষ্ট হবে:

o f<Tab><Enter>

যদিও পুরো ফাইলের নাম টাইপ করতে এক ক্লান্তিকর 26 লাগে - এবং এটি অনিবার্য টাইপগুলির ব্যাকস্পেসিং বাদ দেয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.