কিভাবে মাইনাল করতে হবে?


83

আমার উদ্ধার কফিটি এখনও আমার মস্তিষ্কে পৌঁছায়নি যখন আমি উদ্ধৃতিগুলি ভুলে গেছি:

alias grep="grep --color=always"

সুতরাং পরিবর্তে আমি টাইপ করেছি:

alias grep=grep --color=always

আমাকে সাথে রেখে:

--color=always
grep=grep

আমার উপনামে

আমি যখন সর্বদা --color = পরিষ্কার করার চেষ্টা করি তখন আমি unalias --colorপাই:

bash: unalias: --: invalid option
unalias: usage: unalias [-a] name [name ...]

আমি পালানোর চেষ্টা করেছি, উদ্ধৃতি দিয়েছি এবং ভিক্ষাবৃত্তি করেছি, তবে কীভাবে কমান্ডো আনালিয়াদের এই জগাখিচুড়ি ক্লিনআপ করা যায় তা আমি বুঝতে পারি না।

(আমি জানি যে পুনরায় আরম্ভটি কৌশলটি করবে তবে অবশ্যই অন্য কোনও উপায় থাকতে হবে)


13
হা হা, এখন আমি এটি আমার মধ্যেও আটকে গিয়েছিলাম, এটির উপর কাজ করে: সম্পাদনা: মনে হচ্ছে
চোরোবার

9
ধরনের আমাকে পুরানো সম্পর্কে মনে করিয়ে দেয় echo > \\?\c:\windows\x., বা সেই সময় আমি rm -rf * ~দুর্ঘটনাক্রমে।
জেসন সি

উত্তর:


127

আপনি --কোনও আর্গুমেন্টের আগে যোগ করে কমান্ডগুলিতে ড্যাশগুলি ব্যাখ্যা করে পসিক্স অনুবর্তী সিস্টেমগুলি এড়াতে পারেন ।

mtak@frisbee:~$ alias grep=grep --color=always
mtak@frisbee:~$ alias | grep color
alias --color='always'

mtak@frisbee:~$ unalias -- --color
mtak@frisbee:~$ alias | grep color
mtak@frisbee:~$

এটি অন্যান্য ইউটিলিটিগুলির সাথেও কাজ করে, ধরা যাক আপনার নামের একটি ফাইল রয়েছে -bla। আপনি যদি এটির সাথে অপসারণের চেষ্টা করেন rmতবে নীচের ত্রুটিটি পাবেন:

mtak@frisbee:~$ ls -- -bla
-bla
mtak@frisbee:~$ rm -bla
rm: invalid option -- 'b'
Try 'rm ./-bla' to remove the file '-bla'.
Try 'rm --help' for more information.

--ফাইলের নামের আগে ব্যবহার করে আপনি ফাইলটি সরিয়ে ফেলবেন:

mtak@frisbee:~$ rm -- -bla
mtak@frisbee:~$ ls -- -bla
ls: cannot access '-bla': No such file or directory

19
ফাইলগুলির জন্য এটি লক্ষণীয় যে, সমানভাবে বৈধ পদ্ধতি হ'ল ফাইলটির পথ ব্যবহার করা যা এড়ানো যায়; যাতে আপনি ব্যবহার করতে পারেন ls ./-blaএবং rm ./-bla(বা আপনার ক্ষেত্রে সহজতর যাই হোক পুরো পথগুলি নির্দিষ্ট করুন)। স্পষ্টতই যদিও এটি এলিয়াসগুলির জন্য কাজ করে না!
মুজার


93

আপনি নিজের নামটি সেট করতে একই কৌশল ব্যবহার করুন

unalias whatever --color

9
প্রকৃতপক্ষে কাজ করে, +1 টি কিন্তু অন্যান্য সমাধান একটু ক্লিনার :)
Requist

1
প্রকৃতপক্ষে, অবশ্যই :-)
চোরোবা

unalias unalias --color
সিউর

3

দ্রুত সমাধান

উভয় ভুল উপকরণ ঠিক করতে আপনি খালি চালাতে পারেন

unalias grep --color


কী হয়েছে তা বোঝা যাচ্ছে

আপনি alias grep=grep --color=alwaysছাড়া ভুল আদেশ দিন "..."

  • আপনি দুটি এলিয়াস সেট করেছেন --color এবং grep; প্রকৃতপক্ষে আপনি এটি আপনার আউটপুট বাম দিকে পড়তে পারেন (সমস্ত বাম দিকে =একটি এলিয়াসেড কমান্ড):

    --color=always
    grep=grep

    সুতরাং আপনি উভয় আনসেট করা প্রয়োজন।

  • কেন এমন হল? ওরফে এর ম্যাথু এর মানে হল এক লাইন একাধিক স্থিরীকরণ কি সম্ভব:
    ...

    উপনাম: উপনাম [-p] [নাম [= মান] ...]

    আউটপুটে help aliasআপনি সিনোপটিকটি পড়তে পারেন তবে man bashআপনি একই পংক্তিতে একইসাথে তালিকাভুক্ত ও নির্ধারিত হওয়া একই পংক্তিতে পড়তে পারবেন:

    যখন যুক্তি সরবরাহ করা হয়, প্রতিটি নাম যার জন্য একটি মান দেওয়া হয় তার জন্য একটি উপাধি সংজ্ঞায়িত করা হয়। মানের পিছনের স্থানটি যখন ওরফে প্রসারিত হয় তখন পরবর্তী শব্দটি ওরফে প্রতিস্থাপনের জন্য পরীক্ষা করা হয়। যুক্তি তালিকার প্রতিটি নামের জন্য যার জন্য কোনও মান সরবরাহ করা হয় না, তার নামটির নাম এবং মান মুদ্রিত হয় ...

  • আপনার প্রথম --colorএকাই আনসেট করতে সমস্যা আছে
    এর কারণ হল এটা অপশন হিসেবে ব্যাখ্যা করা হয় জন্য aliasআপনার শেল করে; এটি এড়াতে আপনার bashশেলটির সাথে যোগাযোগ করা দরকার যা এটি অনুসরণ করছে এটি কোনও বিকল্প নয়।

  • লিনাক্সের হলি গ্রেইল :man এক্ষেত্রে এই ধরণের man bashধনসম্পদ ভরা একটি কফার যা এই পরিস্থিতিতে কার্যকর।
    আপনি থেকে পড়তে পারেন man bash:

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

    অন্যান্য উত্তরে যেমন রিপোর্ট করা হয়েছে তেমন পজিক্স উপায়টি হল বিশেষ চরিত্রের সংমিশ্রণটি ব্যবহার করা --

    unalias -- --color
  • কিন্তু কাজ করছেন কেন unalias grep --color? মানে ব্যবহার না করে --?
    যেমন এটি aliasএমনকি unaliasএটির জন্যও কাজ করেছিল তখন একবারে (আবার [...]) একাধিক নাম দেওয়া সম্ভব ।

    unalias: unalias [-a] name [name ...]

    আমি কেবল আমার অনুমান দিতে পারি: একটি ভাল প্রোগ্রামিং অভ্যাস হ'ল একই যুক্তির নীচে একই সাথে পড়া এবং লেখার রুটিনগুলি লিখতে। সুতরাং এটি বিকল্পের পার্সিং রুটিনগুলির জন্য হতে হবে aliasএবং unalias

    এটি এই কাজ করে আপনি এমনকি এই আদেশটি (এই উদ্দেশ্যে খোলা শেল থেকে) দেখতে পাবেন যা আপনার সমস্ত উপকরণ মুছে ফেলবে না:

    unalias whatever -a

চূড়ান্ত মন্তব্য

man bashরিপোর্ট করা কয়েকটি জিনিসের মধ্যে বুগস বিভাগে আপনি পড়তে পারেন:-)

উপকরণ কিছু ব্যবহারে বিভ্রান্ত করছে।

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