কমান্ড শেল স্ক্রিপ্টের মাধ্যমে পাওয়া যায় নি তবে টার্মিনালে কাজ করে


18

আমার .sh ফাইলে আমি পিঁপড়া বা এমভি বা সিপি কমান্ড শুরু করতে পারি না তবে একই কমান্ডগুলি টার্মিনালে কার্যকর করা হয় bel

নমুনা.শ ফাইল

#! /bin/sh
cp filename.so filename_org.so
android update project -p .
ant clean
ant release

.bashrc ফাইলে পাথ যুক্ত হয়েছে।

export PATH=$PATH:/usr/bin/

সিপি, এমভি, পিপীলিকা কেবলমাত্র টার্মিনালের অধীনে স্কার্পের মাধ্যমে কাজ করে না।


1
আপনার সমস্যা সম্পর্কে আমাদের আরও তথ্য দিন ..
রুবান সবি

android/ ant, এই বাইনারিগুলি / ইউএসআর / বিনে রয়েছে?
ইউভিভি

উত্তর:


13

যেমন আপনার স্ক্রিপ্টটি শেল স্ক্রিপ্ট ( /bin/sh), সুতরাং আপনার PATHপ্রবেশাগুলি ( ) ইন্টারেক্টিভ শেলের .bashrcজন্য যেমন পড়বে না ।bash/bin/bash

কোনও নির্দিষ্ট ব্যবহারকারীর দ্বারা চালিত স্ক্রিপ্টগুলিতে আপনার PATHএন্ট্রিগুলি উপলব্ধ করতে /bin/sh, সেই ব্যবহারকারীদের হোম ডিরেক্টরিতে ফাইলটিতে PATHএন্ট্রি যুক্ত করুন .profile


অতিরিক্ত হিসাবে আপনি স্ক্রিপ্টের মধ্যে আপনার প্রতিটি কমান্ডের জন্য পুরো পথ জুড়তে পারেন:

/bin/cp filename.so filename_org.so

অথবা আপনার স্ক্রিপ্টের শুরুতে PATHপ্রয়োজনীয় সমস্ত সহ ভেরিয়েবল সেট করুন $PATHS

PATH=$PATH:/bin:/usr/bin:xxx
export PATH

2
সঠিক বিশ্লেষণ, তবে আপনি সঠিক সমাধানটি উল্লেখ করেন নি, যা এর PATHপরিবর্তে যথাযথ স্থানে সেট করা .bashrc। স্ক্রিপ্টটিকে বাশ স্ক্রিপ্ট হিসাবে পরিবর্তন করা কোনও .bashrcতাত্পর্য করবে না: কেবল ইন্টারেক্টিভ শেল দ্বারা লোড করা হয়।
গিলস

2

বাইনারি চালানোর সময় একই সমস্যা ছিল যার বাশার্কে পাথ সেট করা আছে।

নিম্নলিখিতটি দ্বারা সমস্যাটি সমাধান করুন:

বাইনারি যুক্ত করুন বা বাইনারি / usr / bin এ একটি লিঙ্ক যুক্ত করুন।

ln -s [path_to_binary] [name_of_executable] 

তারপরে ব্যবহার করে পরীক্ষা করুন

ls -l

আপনি প্রবেশ ফর্ম bashrc অপসারণ করতে পারেন।


0

আপনার যদি ছোট স্ক্রিপ্ট থাকে এবং আপনার কাজটি যথাযথভাবে শেষ হয় তবে আপনি একটি সাধারণ কাজ করতে পারেন

কমান্ডের নীচে কমান্ড লাইন ব্যবহার করুন

which your_command 

উপরের কমান্ডটি সেই কমান্ডকে সরাসরি ব্যবহার করে আউটপুট প্রিন্ট করবে

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