শেল ট্যাব সমাপ্তি বাশ করুন, expand প্রসারিত করবেন না ~


12

আমি Tabশেলটি (ব্যাশ) ব্যবহার করার সময় আমি কীটি প্রচুর ব্যবহার করি।

তবে আমি বিরক্ত হয়ে যাচ্ছি যা ~সর্বদা প্রসারিত হয় /home/"user"। আমি মনে করি না যে এটি সবসময় এমন ছিল; এই আচরণ বন্ধ করার কোনও উপায় আছে কি?

একটি উদাহরণ:

  1. cj@zap:~$ ls ~/
  2. প্রেস Tab
  3. cj@zap:~$ ls /home/cj/

আমি অবিরত রাখতে চাই ~/এবং শেষ না করা /home/cj/


2
"আমি মনে করি না সবসময় এরকম ছিল।" - প্রোগ্রামযোগ্য সমাপ্তি পঠন সেটিংকে ওভাররাইড করে set expand-tilde off(ডিফল্ট বা সেট করা থাকে ~/.inputrc)।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

"বাইন্ড-ভি | গ্রেপ টিলডে" রিটার্ন "সেট প্রসারিত-টিলডে বন্ধ করুন" ... সুতরাং আমি মনে করি না এটি সাহায্য করবে।
জোহান

আপনি একবার তাকান হতে পারে shopt -p direxpand
gam3

উত্তর:


10

টিলডে প্রসারণ অক্ষম করা দ্রুত এবং ব্যথাহীন। এটি খুলুন ~/.bashrcএবং সন্নিবেশ করান:

_expand()
{
    return 0;
}

এটি থেকে প্রসারিত ক্রিয়াকে ওভাররাইড করবে /etc/bash_completion। ভবিষ্যতে আপনি যদি প্রসারণটি ফিরে চান তবে এটি কার্যকারিতার উপরে কী করবে সে সম্পর্কে মন্তব্য করার পরামর্শ দেব। পরিবর্তনগুলি একটি নতুন উদাহরণে কার্যকর হবে।


যদিও _expand(){ true; }খাটো :)
স্পর্শ

এটা হবে না _expand(){ false; }? @ টিটি
জন টি

2
@ জন: না এটি সত্য হওয়া উচিত। trueসফল ফলাফলের ও সফল ফলাফলের ফেরৎ 0, তাই return 0সমান trueপ্রস্থান অবস্থা, এবং return 1সমান false। শুধু চেষ্টা করুন true; echo $?এবং false; echo $?
স্পর্শ

@ টিগুন অনেক বেশি প্রোগ্রামিং আমাকে বিভ্রান্ত করেছে ... codepad.org/Frb3RyAN একইভাবে, আপনি এটি প্রচুর কোডে পেয়েছেন (উপরে দেখুন): cs.nthu.edu.tw/~tingting/DS_mid_solution.pdf আমি ধরে নিব এটি স্যুইচ করা হয়েছে GNU সরঞ্জামগুলিতে আরও বাস্তববাদী অর্থ নির্দেশ করার জন্য, যেমন "সত্য, প্রোগ্রামটি সফলভাবে চলে" বা "মিথ্যা - প্রোগ্রামটি ভুলভাবে চলে"।
জন টি

@John: যে ঠিক আছে :), «এমনকি জন টি ভুল হতে পারে» (বোধ করে না না :)) হল
স্পর্শ

5

আরও নতুন বাশ_কম্পলশন দিয়ে মনে হচ্ছে আপনার __expand_tilde_by_ref ওভাররাইড করা দরকার:

__expand_tilde_by_ref() {
  return 0
}

1

আরও সংক্ষিপ্তভাবে:

_expand() { :; }

... হিসাবে ":" হ'ল "সত্য" :-) এর সমান অন্তর্নির্মিত


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