প্রতিটি আদেশ কমান্ডের সাথে ব্যর্থ হয় "কমান্ড পাওয়া যায় নি" .বাশ_প্রফাইলে পরিবর্তন করার পরে?


46

আমি আমার .বাশ_ প্রোফাইলটি আপডেট করছি এবং দুর্ভাগ্যক্রমে আমি কয়েকটি আপডেট করেছি এবং এখন পাচ্ছি:

env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
env: bash: No such file or directory
-bash: tar: command not found
-bash: grep: command not found
-bash: cat: command not found
-bash: find: command not found
-bash: dirname: command not found
-bash: /preexec.sh.lib: No such file or directory
-bash: preexec_install: command not found
-bash: sed: command not found
-bash: git: command not found

আমার বাশ_প্রোফাইলটি আসলে অন্য .sh ফাইলগুলিতে টান দেয় (তাদের উত্সগুলি) সুতরাং আমি নিশ্চিত নই যে কোন পরিবর্তনটি এর কারণ হতে পারে।

এখন যদি আমি এমনকি ফাইলগুলির একটি তালিকাতে চেষ্টা করি তবে আমি পাই:

>ls
-bash: ls: command not found
-bash: sed: command not found
-bash: git: command not found

ত্রুটির উত্সটি কীভাবে সনাক্ত করা যায় এবং ফাইলগুলির তালিকা ইত্যাদির মতো মৌলিক বিষয়গুলির জন্য টার্মিনালটি কীভাবে ব্যবহার করতে সক্ষম হতে পারে সে সম্পর্কে কোনও টিপস?


আপনি যদি পুরো পথটি এভাবে ব্যবহার করেন তবে কী হবে: / বিন / এলএস? এবং আপনি কি ধরনের পরিবর্তন আনছেন?
কেপি ম্যাকগ্রিগোর

2
হ্যাঁ, আপনার .bash_ প্রোফাইলে
জানুয়ারী

/ বিন / -bash: sed: command not found -bash: git: command not found
এলএস

আপনার সমস্যাটি যদি ঘটে থাকে /etc/environmentতবে নিম্নলিখিত কমান্ডটি ব্যবহার করুন (সেন্টোস 6 এ):ssh -t root@<server-ip> "/bin/bash -c '/bin/mv /etc/environment /tmp/'"
এডেনশো

উত্তর:


65

আমার কাছে মনে হচ্ছে যে এক পর্যায়ে বা অন্য কোনও সময়ে আপনি ডিফল্ট PATHপরিবেশ পরিবর্তনশীলটি ওভাররাইট করছেন । আপনার যে ধরণের ত্রুটি PATHরয়েছে তা নির্দেশ করে যে এতে নেই /bin, যেখানে উপরের আদেশগুলি (সহ bash) অন্তর্ভুক্ত রয়েছে ।

উদাহরণস্বরূপ, যদি আপনি করেন

PATH=/home/user/bin

পরিবর্তে

PATH="$PATH":/home/user/bin

আমি এক পর্যায়ে এটি করেছি:export PATH=PATH:EC2_HOME/bin
ব্ল্যাঙ্কম্যান

2
দ্বিতীয় PATH স্ট্রিংয়ে আপনাকে '$' ব্যবহার করতে হবে - export PATH=$PATH:EC2_HOME/bin
মনুলা বৈদ্যনাথ

আশ্চর্যজনকভাবে 'ইক 2-বর্ণনা-অঞ্চলগুলি' কীভাবে কাজ করে না, যদিও এটি আমার পথে রয়েছে, তবুও এটি কাজ করে: C ইসি 2 হাত / বিন / ইসি-বর্ণনা-অঞ্চল আমি একটি উত্স পুনরায়
লোডও করেছি

2
দেখুন, আমরা জানি না আপনি কী করছেন, আপনি কী অন্যান্য ফাইল স্যুরস করছেন, সেগুলিতে কী রয়েছে। এবং হ্যাঁ, প্রতিবার ফাইলটি উত্স করার সময়, আপনি আপনার পথে জিনিস যুক্ত করেন (যা ভাল, কারণ সাধারণত .Bash_profile কেবল একবার পড়বে)। একে একে এর মধ্য দিয়ে যান এবং দেখুন কী ঘটে। এছাড়াও, ইসি_হোম কোনও পরিবর্তনশীল নয়? যদি হ্যাঁ, তবে আপনার এটির আগে এমনটি হওয়া উচিত $:export PATH=$PATH:$EC2_HOME/bin
জানুয়ারী

1
আমি এই সমস্যায় কতবার পড়েছি এবং এই উত্তরটি আমাকে কতবার সাহায্য করেছিল তার হিসাব আমি হারাতে পারি
হার্গট

21

আপনার বাশ স্ক্রিপ্টটি ডিবাগ করা শুরু করার একটি উপায় হ'ল -x বিকল্পের সাথে সাব-শেল শুরু করা:

$ bash --login -x

এটি আপনাকে প্রতিটি আদেশ এবং তার আর্গুমেন্ট প্রদর্শন করবে যা সেই শেলটি শুরু করার সময় কার্যকর করা হয়।

--Login বিকল্পটি নির্দিষ্ট করা হয়েছে কারণ .bash_profile লগইন শেলগুলি দ্বারা পড়ে। ডিবাগিং ব্যাশ স্ক্রিপ্ট সম্পর্কিত আরও তথ্য এখানে পাওয়া যাবে: http://tldp.org/LDP/Bash-Beginners- Guide/html/ sect_02_03.html

শেষ পর্যন্ত, আমি মনে করি যে জানুয়ারীর পরামর্শটি আপনার পক্ষে কার্যকর হবে, তবে ভবিষ্যতের সমস্যার জন্য সেই লিঙ্কটি পড়ার মতো।


এটি পেয়েছে: -বাশ: বাশ: কমান্ড পাওয়া যায় নি
ইয়াসাইন কোরাইচে

10

আমি সমস্যাটি খুঁজে পেয়েছি। এটি আমার পক্ষে কাজ করেছে, এবং এটি আপনার পক্ষে কাজ করতে পারে ...

আমি উইন্ডোতে (এলএফ / সিআর) সেভ করে আমার সম্পাদকের সাথে ডিফল্ট ছিলাম। যেহেতু আমি উভয় সিস্টেম ব্যবহার করি তাই এটি যৌক্তিক বলে মনে হয়েছিল। আমার যখন আমার সাথে .bash_profileজগাখিচির দরকার হয়েছিল তখন আমি মন্তব্য করার পরে বুঝতে পারলাম এবং এমন কিছু চেষ্টা করে যা কিছুই কার্যকর হয়নি। আমি আমার সেভগুলি ওএস এক্স ফর্ম্যাটে (কেবলমাত্র সিআর) এবং ভয়েলিয়ে পরিবর্তন করেছি! টার্মিনালে আর "কমান্ড পাওয়া যায় না"!

এটা ঠিক যে সহজ হতে পারে!


খুব সূক্ষ্ম জিনিস যা আমাকে পাগল করে তুলেছিল। এই উত্তর যুক্ত করার জন্য ধন্যবাদ!
সামুয়েল.মোলিনস্কি

এই আমি অভিজ্ঞতা ছিল! ধন্যবাদ। দ্রুত টিপ আপনার ইউনিক্স পরিবেশে ফাইলগুলি রূপান্তর করতে এই কমান্ডটি ব্যবহার করছে:$ dos2unix .bash_profile
মেলওয়িল

আপনি কি নিশ্চিত যে আপনি এটি করেছেন? যেহেতু ওএস এক্স ইউনিক্স, এটি ইউনিক্স-স্টাইলের লাইন এন্ডিংগুলি একটি একক লাইনফিড (এলএফ) অক্ষর সহ ব্যবহার করে, ক্যারেজ রিটার্ন (সিআর) নয়। একমাত্র জনপ্রিয় অপারেটিং সিস্টেম যা পরবর্তীকৃতগুলি ব্যবহার করে তা হ'ল OS 9 এবং পূর্বের এবং লিনাক্স / উবুন্টু অ্যাপ্লিকেশনগুলি এটি দ্বারা বিভ্রান্ত হবে।
ডেভিড ফোরস্টার

6

আমি আর চালাতে না পেরে। b / .bash_ প্রোফাইলে বা হুয়ামি, গ্রেপ ইত্যাদির মতো কোনও সাধারণ কমান্ডগুলি কেবল প্রয়োজনীয় পাথগুলি পুনরায় রফতানির জন্য একটি উপায় আবিষ্কার করেছি:

export PATH=/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin

এটি বেশিরভাগ সিস্টেমে কাজ করা উচিত, যদিও এর মধ্যে কয়েকটি পাথ সমস্ত লিনাক্স প্যাকেজে উপস্থিত না থাকে। এটা আমার জন্য কাজ করে।


4

আমি মনে করি সমস্যাটি উত্তরটি যদি আপনার জন্য না খুঁজে পেয়ে থাকেন তবে অন্যদের জন্য যারা একই রকম সমস্যা পেয়েছেন for আমার এই উত্তরটি আমার কাছে নেই .bash_profile

সুতরাং আমি সমস্ত ওয়েবে অনুসন্ধান করছিলাম এবং আমি সমাধানটি খুঁজে পেলাম। যা মূলত টার্মিনালটি খোলে, টাইপ করে touch ~/.bash_profileটিপুন Enter। এটি আমার সমস্যাগুলি স্থির করেছে। আশা করি এটি আপনার ক্ষেত্রেও তাই করবে


8
এলএল ... -বাশ: স্পর্শ: কমান্ড পাওয়া যায় নি
কুমার কেএল

2

আপনার মতো আমারও একই সমস্যা আছে। আমি অনেক জনপ্রিয় কমান্ড ( ls,, vi/vim..) ব্যবহার করতে পারি না এবং /root/.bashrcআমি যখন suরুটে লগ ইন করি তখন সম্পাদনা করতে পারি না ।

অবশেষে। আমি এই সমস্যার সমাধান খুঁজে পেয়েছি। কমান্ডের সাহায্যে মূলটি লগইন করুন:

su -m

এর পরে, আপনি ব্যবহার করতে পারেন

vim /root/.bashrc

পাঠ সম্পাদনা করতে।

গুডলাক!


2

আমারও একই সমস্যা ছিল। PATH রফতানির সময় আপনি একটি missed মিস করেছেন। আপনি টেক্সটএডিট .bash_ প্রোফাইলে খুলতে হবে। আপনি যদি ডিরেক্টরিটিতে ফাইলটি খুঁজে না পান তবে লুকানো ফাইলগুলি দেখানোর জন্য কমান্ড + শিফট +> টিপুন।

তারপরে PATH- এ সংশোধন করুন এবং তারপরে সংরক্ষণ করুন।

টার্মিনালের ডিরেক্টরিতে, টাইপ করুন: উত্স .bash_profile।

এটি সমস্যার সমাধান করা উচিত।


ধন্যবাদ এটি আমার সমস্যার সমাধান করেছে, শেষ পর্যন্ত আমি আমার bash_profile ফাইলটি সম্পাদনা করতে সক্ষম হয়েছি।
তৌসিফ মুর্তজা

1

আমার সত্যিকার অর্থে একই সমস্যা ছিল:

যদি আমি lxterminal রাখি:

set | grep "jerom/bash"
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jerom/bash/

tty2-তে ঠিক একই কমান্ডটি লিখলে আমি পেয়েছি:

set | grep "jerom/bash"
PATH=/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/jerom/bash\r

\ r এর অর্থ লাইনটির ডস প্রান্ত, সুতরাং আমি ফাইল খুললাম ~/.bashrcএবং ক্রাসাদারের লাইনের শেষগুলি ইউনিক্স শৈলীতে পরিবর্তন করেছি। এবং এর কাজ ইতিমধ্যে !!! :-)

ডস ইওএলগুলি বাশ স্ক্রিপ্টগুলিতেও স্পৌরিয় সমস্যা তৈরি করে।


1

আমি এখন একই সমস্যা পেয়েছিলাম পরে আমি পরিবর্তন .bash_profile। এবং আমি এটিকে আবার পরিবর্তন করতে চাই তবে এখন আমি পারছি না, কারণ আমি সমস্ত কমান্ড, বিশেষত ন্যানো কমান্ড এবং ভিআইএম কমান্ড হারিয়েছি, সুতরাং আমি কমান্ড সহ .bash_ প্রোফাইলে খুলতে পারি না। এবং এটি .bash_profileহাইড ফাইল যা আমি এটি ফাইন্ডারের সাথে খুলতে পারি না।

সুতরাং .bash_profile ফাইলটি খোলার জন্য আমাকে একটি উপায় খুঁজে বের করতে হবে। আমি নানাভাবে আমি দেখেছি যে আমি ব্যবহার করতে পারেন চেষ্টা করার পর অ্যাটম , কারণ অ্যাটম একটি প্রকল্প ফোল্ডারের সমস্ত ফাইলগুলি পড়তে পারেন লুকানো ফাইল অন্তর্ভুক্ত। সুতরাং কেবল এটমটি খুলুন, এবং নির্বাচন করুন File -> Open, <yourusername>ফোল্ডারটি নির্বাচন করুন এবং তারপরে, সমস্ত লুকানো ফাইলগুলি পরমাণুর গাছের দৃশ্যে প্রদর্শিত হচ্ছে, অন্তর্ভুক্ত করুন .bash_profile!! আমি শেষ পরিবর্তনটি সরিয়ে দিয়ে টার্মিনালটি পুনরায় খোলার পরে, সমস্ত কমান্ড ফিরে আসল! :)

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