سؤال

لقد حاولت تشغيل نص Bash التالي على جهاز الكمبيوتر الخاص بي على الإنترنت (Nokia N810 يعمل على Maemo Linux). ومع ذلك ، لا يبدو أنه قيد التشغيل ، وليس لدي أدنى فكرة عن الخطأ في هذا البرنامج النصي (إنه يعمل على نظام Ubuntu الخاص بي إذا قمت بتغيير الدلائل). سيكون من الرائع تلقي بعض الملاحظات حول هذا أو تجارب مماثلة لهذه القضية. شكرًا.

WORKING="/home/user/.gpe"
SVNPATH="/media/mmc1/gpe/"

cp calendar categories contacts todo $WORKING
هل كانت مفيدة؟

المحلول

ماذا يحدث بالفعل عند تشغيل البرنامج النصي الخاص بك؟ من المفيد إذا قمت بتضمين تفاصيل رسائل الخطأ أو السلوك الذي يختلف عن ما هو متوقع وبأي طريقة.

إذا كان العمل $ يحتوي على اسم الدليل ، مخفي أم لا ، ثم cp يجب نسخ تلك الملفات الأربعة فيها. ثم ls -l /home/user/.gpe يجب أن تظهر لهم بالإضافة إلى أي شيء آخر هناك ، بغض النظر عما إذا كان "مخفيًا".

بالمناسبة ، النقطة الأولية في ملف أو اسم الدليل لا "إخفاء" الإدخال ، إنه ذلك فقط ls و echo * والأوامر المماثلة لا تظهر لهم ، في حين أن هذه تفعل:

ls -la
ls -d .*
ls -d {.*,*}
echo .*
echo {.*,*}

نصائح أخرى

باش cp أمر تستطيع انسخ مصادر متعددة إلى وجهة واحدة ، إذا كان دليلًا.

هل الدليل /home/user/.gpe يوجد؟

ضع في اعتبارك أن النقطة الرائدة في الاسم يمكن أن تجعلها مختفي إلا إذا كنت تستخدم ls -a

جربت أوامرك في Cygwin:

لكني استخدمت .gpe بدلاً من /home/user/.gpe

لقد فعلت ذلك ل touch calendar categories contacts todo لإنشاء الملفات.

عملت بشكل جيد.

إذا كان هذا هو البرنامج النصي الخاص بك ، فهو مفقود. ثلاثة ، أشياء:

  • أ كوخ الخط ، مثل #!/bin/sh في البداية
  • استخدام $ svnpath. ربما تريد ذلك cd $SVNPATH قبل cp أمر. يجب ألا يفترض البرنامج النصي الخاص بك أن دليل العمل الحالي صحيح.
  • ربما تنفيذ الإذن على البرنامج النصي: chmod a+x script

هل لديك بالفعل دليل/home/user/.gpe الحاضر؟ وأيضًا ، حاول إضافة معلمة -r بحيث يتم نسخ الدلائل بشكل متكرر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top