এই নামটি দিয়ে একটি ডিরেক্টরিতে সিডি করবেন কীভাবে "-2" (হাইফেন দিয়ে শুরু)?


169

আমার একটি ডিরেক্টরি রয়েছে:

-2

আমি এটিতে সিডি করতে চাই তবে সিডি অভিযোগ করে:

bash: cd: -2: invalid option

কোন সাফল্য না দিয়ে, আমি চেষ্টা করেছি:

cd "-2"
cd '-2'
cd \-2

কোন সমাধান?

সম্পাদনা করুন: সার্ভারে এমসি ইত্যাদির মতো কোনও ফাইল ব্রাউজার নেই।


2
সুপার-ইউজার উপর সংশ্লিষ্ট প্রশ্ন: superuser.com/questions/361573/...
yms

উত্তর:


272

কমপক্ষে দুটি উপায়:

  1. --যুক্তি ব্যবহার করুন ।

    cd -- -2
    

    এটি জিএনইউ সরঞ্জামগুলিতে প্রচলিত একটি কনভেনশন ব্যবহার করে যা --কোনও কমান্ড লাইন বিকল্প হিসাবে প্রদর্শিত হওয়ার পরে চিকিত্সা না করে ।

    একজন মন্তব্যকারী হিসাবে উল্লেখ করা হয়েছে, এই সম্মেলনটি পসআইএক্স স্ট্যান্ডার্ডেও সংজ্ঞায়িত হয়েছে :

    ডিফল্ট আচরণ: যখন এই বিভাগটি "কিছুই নয়" হিসাবে তালিকাভুক্ত করা হয়, এর অর্থ এটি বাস্তবায়নের কোনও বিকল্পকে সমর্থন করার দরকার নেই। স্ট্যান্ডার্ড ইউটিলিটিস যা বিকল্পগুলি গ্রহণ করে না, তবে অপারেশনগুলি গ্রহণ করে না, "--"এটি বাতিল করার জন্য প্রথম যুক্তি হিসাবে স্বীকৃত হবে।

    স্বীকৃতির প্রয়োজনীয়তা "--"হ'ল কারণ অনুসারে প্রয়োগকারীদের কোনও ক্রিয়াকলাপের বিকল্প থেকে তাদের ক্রিয়াকলাপগুলি রক্ষা করার একটি উপায় প্রয়োজন যা বাস্তবায়ন কোনও এক্সটেনশন হিসাবে সরবরাহ করতে পারে। উদাহরণস্বরূপ, যদি স্ট্যান্ডার্ড ইউটিলিটি foo কোনও বিকল্প না নেওয়ার জন্য তালিকাভুক্ত করা হয় এবং অ্যাপ্লিকেশনটিকে নেতৃস্থানীয় হাইফেনের সাথে একটি নামকরণের প্রয়োজন হয় তবে এটি নিরাপদে এটি করতে পারে:

    foo -- -myfile
    

    এবং এক্সটেনশন হিসাবে ব্যবহৃত -m এর সাথে কোনও সমস্যা এড়াতে পারেন ।

    পাশাপাশি :

    গাইডলাইন 10:
    যুক্তিটি --বিকল্পগুলির শেষ নির্দেশ করে এমন একটি সীমানা হিসাবে গ্রহণ করা উচিত। নিম্নলিখিত কোনও যুক্তিগুলি '-'চরিত্র দিয়ে শুরু হলেও, অপারেশন হিসাবে বিবেচনা করা উচিত । --যুক্তি একটি বিকল্প হিসাবে অথবা অপেরান্ড হিসেবে ব্যবহার করা উচিত নয়।

  2. স্পষ্টভাবে পথ নির্দিষ্ট করুন:

    cd ./-2
    

    এটি চলমান ডিরেক্টরিটিকে ( .)) সূচনামূলক পয়েন্ট হিসাবে স্পষ্টভাবে নামকরণ করার পথটি নির্দিষ্ট করে ।

    cd $(pwd)/-2
    cd /absolute/path/to/-2
    

    এগুলি উপরের দিকের বিভিন্নতা। এ জাতীয় কোনও প্রকারের বৈচিত্র্য সম্ভব হতে পারে; এগুলি আবিষ্কার করার জন্য আমি এটি অনুশীলন হিসাবে রেখে দেব।


23
এটি কেবল জিএনইউ নয়, এটি পসিক্স স্ট্যান্ডার্ডের একটি অংশ। দেখুন 1.11 ইউটিলিটি বর্ণনা ডিফল্টে এবং 12.2 ইউটিলিটি সিনট্যাক্স নির্দেশিকা (গাইডলাইন # 10)। cdপৃষ্ঠাটি থেকে " cdইউটিলিটি ... বিভাগ 12.2" এর সাথে সঙ্গতিপূর্ণ হবে।
ডায়েটরিচ এপ্প

এখন আমি কীভাবে নামের একটি ডিরেক্টরিতে সিডি করব সে সম্পর্কে কেবল কৌতূহলী -!
সার্জিওল 4'13

2
@ সার্জিওল একইভাবে
মাইকেল হ্যাম্পটন

1
@ আর্টবি: না। উদ্ধৃতি কেবল ক্ষেত্র বিভাজনকে প্রভাবিত করে। সুতরাং "hello world"একটি যুক্তি কিন্তু hello worldদুটি, এবং "-2"হিসাবে একই -2
ডায়েরিচ এপ্প

1
@sergiol: হয় cd -- --বা cd ./--কাজ করা উচিত।
কিথ থম্পসন


26

'-2' বর্তমান ডিরেক্টরিতে থাকলে এটি কাজ করবে।

    cd ./-2

আপনি টাইপ - এবং ট্যাব টিপে স্বতঃপূরণ করতে পারেন।


11

cd / home/...../-2 এছাড়াও কাজ করে। অ্যাক্সেসের পুরো পথ দিন।


7

কেবলমাত্র পরিপূরক হিসাবে, আপনি যদি এই ডিরেক্টরিটি সরিয়ে / মুছতে চান তবে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

rm -r -- -2

... এবং কেবলমাত্র পরিপূরক হিসাবে, আমি এটি কখনই করব না, বরং আমি এমসির মতো গ্রাফিকাল সরঞ্জাম ব্যবহার করব বা আমি ডিরেক্টরিটির নতুন নামকরণ করব।
নিক

-1

আমি জানি এই প্রশ্নের উত্তর ইতিমধ্যে দেওয়া হয়েছে। কারও যদি আমার মতো পরিস্থিতি থাকে তবে এটি তাদের জন্য:

আমি একটি জাভা অ্যাপ্লিকেশন চালিয়েছিলাম এবং এটি দিয়ে ডিরেক্টরিটি শুরু করার সন্ধান <path>করছিলাম, অ্যাপটি চালানোর আগে আমার যথাযথ পথ দিয়ে এটি প্রতিস্থাপন করা উচিত ছিল। তবে আমি তা করতে ভুলে গেছি। অ্যাপ্লিকেশন নামে একটি ডিরেক্টরি তৈরি করেছে <path>

আমি চেষ্টা করেছি cd <path>- আমাকে ত্রুটি দিয়েছে "-বাশ: অপ্রত্যাশিত টোকেন নিউলাইনটির কাছে সিনট্যাক্স ত্রুটি" এখানে দেওয়া পরামর্শের ভিত্তিতে (আমি বুঝতে পারি যে এটির ডিরেক্টরিটি দিয়ে শুরু হচ্ছে - এবং নয়) আমি চেষ্টা করেছি cd -- <path>। যাইহোক, আমি একই ত্রুটি পেয়েছি।

আমি যখন চেষ্টা করেছি cd \<path>\- এই কাজ!

পেছনের তথ্য:

"<" এবং ">" চিহ্নগুলি STDIN এবং STDOUT পুনর্নির্দেশের জন্য ব্যবহৃত হয়, সুতরাং শেলটি পুনর্নির্দেশ হিসাবে ব্যাখ্যা না করার জন্য তাদের এড়াতে হবে।

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