কীভাবে বিভিন্ন ডিরেক্টরিতে স্ক্রিপ্ট চালানো যায়?


51

আমি এই চেষ্টা করেছিলাম

./home/user/scripts/someScript

কিন্তু এটি কাজ করে না

অনুরূপ কোন ফাইল বা ডিরেক্টরি নেই

কোন ধারনা?


2
স্পষ্টতই এমন কোনও ফাইল বা ডিরেক্টরি নেই। সুতরাং আপনি ভুল পথ দিন। সেখানে বিন্দুটির অর্থ "চালানো" নয়। এটি পথের অংশ মাত্র। শেলটিতে আপনি সাধারণত চালিত হওয়ার জন্য ফাইলগুলি কমান্ড করেন বা কমান্ডগুলি (আসলে এটি ফাইলগুলিও হয় :) :)
পিথিকোস

আরম্ভের সময়টি থেকে মুক্তি পান এবং আবার চেষ্টা করুন। বিকল্পভাবে, ~ / স্ক্রিপ্ট / কিছু স্ক্রিপ্টও কাজ করবে। এছাড়াও ou `কিউয়েটগুলি মাথায় রাখবেন এবং এক্সিকিউটিভ প্রোগ্রামগুলি (exec man exec)
j0h

উত্তর:


61

আপনার কমান্ডের শীর্ষস্থানীয় বিন্দুর অর্থ "বর্তমান ডিরেক্টরিতে আপেক্ষিক"। এটি সরান এবং এটি " someScriptডিরেক্টরিতে ফাইলটি উল্লেখ করবে /home/user/scripts:

/home/user/scripts/someScript

আপনি যদি "অনুমতি অস্বীকার" পেয়ে থাকেন তবে তা হয় অন্য ব্যবহারকারীদের ডিরেক্টরিতে ফাইলটি অ্যাক্সেস করার জন্য আপনার পর্যাপ্ত অনুমতি নেই বা ফাইলটি কার্যকরযোগ্য নয় বলে। এটি কার্যকর করার জন্য, চালান:

chmod +x /home/user/scripts/someScript

35

যদি আপনার স্ক্রিপ্টটি একই ফোল্ডারে এটি থেকে চালিত হচ্ছে এবং আপনি এটি আপেক্ষিক পাথ হিসাবে নির্দিষ্ট করে রেখেছেন তবে আপনার স্ক্রিপ্টটি ভেঙে যাবে।

আমি সর্বদা cd $(dirname $0)আমার স্ক্রিপ্টের মাথায় একটি যুক্ত করি যাতে স্ক্রিপ্টযুক্ত ফোল্ডারটি মূল ফোল্ডার হবে।


6

অপসারণ .

আপনি যদি স্ক্রিপ্টটি chmod 755 <nameofscript>চালানোর সাথে সাথে সম্পাদনযোগ্য করে তোলেন তবে আপনাকে কেবল স্ক্রিপ্টের পাথ টাইপ করতে হবে।

যখন আপনি ./scriptএটি ব্যবহার করা দেখছেন তখন এটি শেলকে জানিয়ে দিচ্ছে যে স্ক্রিপ্টটি একই ডিরেক্টরিতে আপনি চালাচ্ছেন on পুরো পথ ব্যবহার করতে আপনি টাইপ করুন sh /home/user/scripts/someScript


sh /path/to/fileথেকে পৃথক /path/to/file। সিলেক্ট করা হয় যা shরান । /bin/sh/bin/dash
লেকেনস্টেইন

নেটে আপনি যে উদাহরণগুলি দেখেন সেগুলি সম্পর্কে কেবল কিছু স্পষ্ট করা, সাধারণত আপনি দেখতে পান sh ./somescriptযেগুলি `sh / path / to / पटकथा / স্ক্রিপ্টিট নিজেও টাইপ করা যায়।
ব্রুনো পেরেইরা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.