টার্মিনাল স্বতঃপূরণ সঠিকভাবে কাজ করে না


56

যদি আমি apt-gহিট করার পরে একটি কমান্ড টাইপ করা শুরু করি tabতবে শেলটি কমান্ডটি সম্পূর্ণ করে apt-get, তবে কমান্ডের দ্বিতীয় অংশের মতো install, যদি আমি কিছু অক্ষর instaলিখি যেমন , হিট করা tabহয় তবে এটি সম্পূর্ণ হয় না install

আরেকটি উদাহরণ: পর আমি লিখতে sudoআঘাত tabকিছু সম্পন্ন হয় না। উদাহরণস্বরূপ: sudo apt-ge[ tab] এবং কিছুই নয়।

আমি মিনি আইসো (40 এমবি নেটওয়ার্ক ইনস্টলার) ব্যবহার করে উবুন্টু ইনস্টল করেছি, তাই সম্ভবত এমন কোনও কনফিগারেশন রয়েছে যা আমি মিস করেছি!

আমি এই কোডটি আমার সাথে যুক্ত করেছি .bashrcতবে এখনও এটি কার্যকর হয় না:

if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

আমিও অনুমতি পরীক্ষা করেছি .bashrcএবং এটা -rw-r--r--

আমি .bashrcপরিবর্তনগুলি পরে source .bashrcনতুন পরিবেশে পরিবর্তনগুলি প্রয়োগ করতে ব্যবহার করে কিন্তু এখনও কোনও প্রভাব ফেলছি না।

আমি ব্যবহার করেছি xfce4-terminalতাই আমি ভেবেছিলাম এটি সম্ভবত টার্মিনাল এবং বাশ নয়।

তবে সম্পাদনা:

~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

এবং পরিবর্তন:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

প্রতি:

<property name="&lt;Super&gt;Tab" type="string" value="empty"/>

কোন পার্থক্য করে না।

উত্তর:


83

bash-completion বাশ স্ক্রিপ্টগুলির একটি সেট যা নির্দিষ্ট কমান্ডগুলির জন্য কাস্টমাইজড সমাপ্তি সক্ষম করে।

এটি কেবল ফাইল এবং ডিরেক্টরিগুলির জন্য নয়, যেমন কমান্ডগুলির ক্ষেত্রেও for সুতরাং আপনি কম্যান্ডের আংশিক টাইপ করুন এবং আঘাত করে Tabআমরা কমান্ডগুলির একটি স্বয়ংক্রিয় সমাপ্তি পাই।

স্থাপন

পদক্ষেপ 1: ব্যাশ-সমাপ্তি ইনস্টল করুন

$ sudo apt-get install bash-completion

এবং কিছু সময় এটি কাজ করে যদি আমরা ফলউইং কমান্ড দ্বারা এটি পুনরায় ইনস্টল করি:

$ sudo apt-get install --reinstall bash-completion

পদক্ষেপ 2: আপনার .bashrcফাইলে বাশ-সমাপ্তি সক্ষম করুন

আপনার খুলুন gedit ~/.bashrcএবং যদি এই বিষয়বস্তুগুলি সেখানে উপস্থিত না থাকে তবে এটির শেষে এটি যুক্ত করুন এবং এটি সংরক্ষণ করুন।

# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

গুরুত্বপূর্ণ: পরিবর্তনের পরে আপনার নিজের টার্মিনালটি ~/.bashrcদিয়ে source ~/.bashrcআবার উত্স করতে হবে । এটি এখন ঠিক করা উচিত।


1
আমি নিশ্চিত করতে চাই যে above / .bashrc ফাইলটিতে উপরের কোডের ব্লকটি যুক্ত করা আমার পক্ষে কাজ করেছে। মাত্র একটি মন্তব্য; এটিকে কাজ করতে আপনাকে লগ আউট এবং আবার লগ ইন করার দরকার নেই (আপনি যা কাজ করেন তা আপনি শেষ করতে চান না), আপনি কেবল চালাতে পারেন source ~/.bashrc
নাল্গেপেটো

টার্মিনালটি কাজ করার জন্য আমাকে আবার খুলতে হয়েছিল!
গিলবার্তো আলবিনো

2
সমাপ্তি হঠাৎ আমার জন্য কাজ করা বন্ধ করে দেয়, উপরের পদক্ষেপগুলি সমস্যার সমাধান করে না। কীভাবে সমস্যাটি সমাধান করবেন সে সম্পর্কে কোনও ধারণা? উবুন্টু 16.04 এ
গুডলুগুর এগিলসন

1
পদক্ষেপ 2 এটি আমার জন্য করে। বা টেমপ্লেটটি থেকে পান/etc/skel/.bashrc
হেন্ডি ইরাওয়ান

1
@SergioIvanuzzo নিশ্চিত না কি সমস্যা তাহলে আপনি এই তাকান পারে সম্মুখীন হচ্ছে unix.stackexchange.com/q/219342/72456 এটা সাহায্য করে আর, সমস্যা আপনার আছে জন্য আপনার নিজের প্রশ্ন খুলুন।
нιηসнιη

27

যদি আপনার কেসটি টার্মিনাল ট্যাবটির অধীনে কাজ করে না Xfce,

সমাধানটি নিম্নরূপ:

  1. ওপেন Application Menu> Settings> Window Manager
  2. Keyboardট্যাবে ক্লিক করুন ।
  3. Switch window for same applicationসেটিংস সাফ করুন ।

উইন্ডো ম্যানেজারের স্ক্রিনশট কীভাবে একই অ্যাপ্লিকেশনের জন্য স্যুইচ উইন্ডো সাফ করবেন

আমি সমাধান এখানে খুঁজে পেয়েছি


অ্যাঞ্জার গ্রহণের চেষ্টা করা হয়েছে, তবে সবকিছু ইতিমধ্যে ছিল। এটি আসলে আমার জন্য সমাধান ছিল।
ব্যবহারকারী 1226868

পূর্বোক্ত। দুর্দান্ত ইঙ্গিত।
সেরিব্রু

আপনাকে অনেক ধন্যবাদ, আমি সত্যিই এইটির প্রতি আমার মন হারাচ্ছিলাম।
ডাস্টিন কাউলস

2
তবুও সমাধানটি আমার দরকার 2018 সালের মে পর্যন্ত
ক্লাইগ্রগ্রে

ধন্যবাদ আমার জন্য কাজ করেছে
এমএমএইচ

3

আপনি এমন শেলও থাকতে পারেন যা অটো সম্পূর্ণ সমর্থন করে না (উদা: বোর্ন শেল | এসএইচ)। আপনি যদি BASH অটো সম্পূর্ণ করতে চান তবে আপনাকে শাঁস স্যুইচ করতে হবে, কমান্ডের পরিবর্তে BASH (বোর্ন অ্যাগেইন শেল) বলুন

chsh -s /bin/bash

সূত্র: উবুন্টু উইকি - শেল পরিবর্তন করা


1

আমার ক্ষেত্রে, আমি একটি স্ক্রিপ্ট কার্যকর করার চেষ্টা করছিলাম ./myScript.sh, এবং টাইপ করা ./my[tab]স্বয়ংক্রিয়ভাবে সম্পূর্ণ হবে না।

আমাকে ফাইলে এক্সিকিউট করার অনুমতি যুক্ত করতে হয়েছিল এবং স্বতঃ-সমাপ্তির কাজ হয়েছিল।

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