سؤال كيفية إدخال قرص مضغوط في دليل بهذا الاسم "-2" (بداية بالواصلة)؟


لدي دليل اسمه:

-2

أريد أن أدخل في ذلك ولكن القرص المضغوط يشكو:

bash: cd: -2: invalid option

بدون نجاح ، حاولت:

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

اي حل؟

تعديل: لا توجد متصفحات ملفات مثل mc وغير ذلك متوفرة على الخادم.


149
2018-01-03 20:29


الأصل


سؤال متعلق بالمستفيد: superuser.com/questions/361573/... - yms


الأجوبة:


طريقتان على الأقل:

  1. استخدم ال -- جدال.

    cd -- -2
    

    هذا يستخدم اصطلاحًا مشتركًا لأدوات جنو وهو عدم معالجة أي شيء يظهر بعد ذلك -- كخيار سطر الأوامر.

    ك المعلق لاحظ ، هذه الاتفاقية هي أيضا المعرفة في معيار POSIX:

    السلوك الافتراضي: عندما يتم سرد هذا القسم على أنه "بلا" ، فهذا يعني أن التنفيذ لا يحتاج إلى دعم أي خيارات. الأدوات المساعدة القياسية التي لا تقبل الخيارات ، ولكنها تقبل المعاملات ، يجب أن تتعرف "--" كحجة أولية للتخلص منها.

    شرط الاعتراف "--" لأن التطبيقات المطابقة تحتاج إلى طريقة لحماية معاملاتها من أي خيارات عشوائية قد يوفرها التطبيق كامتداد. على سبيل المثال ، إذا تم إدراج foo القياسية كأنها لا تأخذ أي خيارات ، وكان التطبيق مطلوبًا لإعطائه اسم مسار بواجهة رئيسية ، فيمكنه فعل ذلك بأمان على النحو التالي:

    foo -- -myfile
    

    وتجنب أي مشاكل مع -m تستخدم كامتداد.

    طالما:

    المبدأ التوجيهى 10:
      الحجة -- يجب أن يتم قبولها كمحدد يشير إلى نهاية الخيارات. أي من الوسيطات التالية يجب أن تعامل كمعاملات ، حتى لو كانت تبدأ بـ '-' حرف. ال -- لا ينبغي استخدام الحجة كخيار أو كمتعامِل.

  2. حدد المسار صراحة:

    cd ./-2
    

    هذا يحدد المسار صراحة تسمية الدليل الحالي (.) كنقطة انطلاق.

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

    هذه هي الاختلافات على ما سبق. قد يكون أي عدد من هذه الاختلافات ممكنًا ؛ سأتركها كممارسة للقارئ لاكتشاف كل منهم.


250
2018-01-03 20:32



إنه ليس مجرد غنو ، إنه جزء من معيار POSIX. نرى 1.11 فائدة وصف الافتراضات و 12.2 المبادئ التوجيهية لتركيب المنفعة (المبدأ التوجيهي رقم 10). من cd صفحة "ال cd يجب أن تتفق الأداة مع ... القسم 12.2 ". - Dietrich Epp
الآن أنا مجرد فضول على كيفية قرص مضغوط إلى دليل اسمه -! - sergiol
sergiol بنفس الطريقة. - Michael Hampton♦
ArtB: لا. يقتبس مجرد يؤثر على تقسيم الحقل. وبالتالي "hello world" هي حجة واحدة ولكن hello world هو اثنين ، و "-2" بالضبط مثل -2. - Dietrich Epp
sergiol: إما cd -- -- أو cd ./-- يجب أن تعمل. - Keith Thompson


يجب أن يعمل هذا:

cd -- -2 

- يعني عدم وجود خيار آخر


48
2018-01-03 20:33





سيعمل هذا إذا كانت '-2' في الدليل الحالي.

    cd ./-2

يمكنك الإكمال التلقائي عن طريق الكتابة - والضغط على علامة التبويب.


25
2018-01-04 06:19





cd /home/...../-2 أيضا يعمل. امنح الطريق الكامل للوصول.


10
2018-01-04 02:46





فقط لتكمل ، إذا كنت ترغب في إزالة / حذف هذا الدليل ، يمكنك استخدام الأمر التالي:

rm -r -- -2

6
2018-01-04 14:14





أعلم أن هذا السؤال تمت الإجابة عليه بالفعل. إذا كان أي شخص لديه حالة مثل بلدي ، وهذا بالنسبة لهم:

ركضت تطبيق جافا وكان يبحث عن دليل يبدأ <path>، كان من المفترض أن تحل محل ذلك مع المسار الصحيح قبل تشغيل التطبيق. ومع ذلك ، نسيت أن أفعل ذلك. أنشأ التطبيق دليلاً يسمى <path>.

انا حاولت cd <path> - أعطاني خطأ "- bash: خطأ في بناء الجملة بالقرب من سطر جديد للرمز غير متوقع" استناداً إلى الاقتراح هنا (أنا أفهم أن الدليل الخاص به بدءاً بـ - وليس <) حاولت cd -- <path>. ومع ذلك ، حصلت على نفس الخطأ.

عندما حاولت cd \<path>\ - هذا العمل!

معلومات اساسية:

يتم استخدام الرموز "<" و ">" لإعادة توجيه STDIN و STDOUT ، لذلك يجب أن يتم الإفلات من أجل جعل shell لا يتم كتابتها كعمليات إعادة توجيه.


-1
2017-07-05 14:00