ভুল করে `/ বিন / শ 'সংশোধন করা হয়েছে


16

আমার এই লিপিটি ছিল:

spd-say "Hello, don't forget the trash bin."

সুতরাং এটি আমার কী করণীয় তা আমাকে স্মরণ করিয়ে দিয়েছিল এবং আমি এটিকে স্থানান্তরিত করি /usr/local/bin/এবং আদেশটি trashযুক্তিটি উচ্চারণ করে, তারপরে আমি একটি ক্রন্টব চাকরি সেট করি , যাতে আমি প্রতিদিন যা করতে চাই তা আমাকে স্মরণ করিয়ে দেয়। কিন্তু ক্রোনট্যাব কাজ করেনি এবং কেন বুঝতে পারি না (এটি অন্যান্য কাজ স্বচ্ছলভাবে করে)।

একবার আমি আমার টার্মিনালে এই বার্তাটি দেখেছি:

You have new mail in /var/mail/root

যার শেষে এই লাইনটি আমাকে একটি খারাপ ভুল করেছে:

/bin/sh: 1: trash: not found

আমি জানি যে এটি করা নিরীহ বিষয় ছিল তবে আমি তা করেছিলাম:

mv /usr/local/bin/trash /bin/sh

shএটি একটি ডিরেক্টরি এবং এই ক্রিয়াকলাপটি সম্পাদন করার জন্য আমার সেখানে স্ক্রিপ্টটি স্থানান্তর করা উচিত thinking

এখন, যখন আমি কোনও ম্যান পেজ দেখতে চাই সিস্টেমটি বলে:

"হ্যালো, ট্র্যাশ বিনটি ভুলে যাবেন না।"

এবং এর ফলাফল cat sh:

#!/bin/bash
spd-say "Hello, don't forget the trash bin. "

যাইহোক, আমি কি কিছু করতে পারি বা আমার অপারেটিং সিস্টেমটি পুনরায় ইনস্টল করতে হবে?


2
আমি অনুমান করছি, তবে ক্রোন জবস খুব সীমিত পরিবেশের সাথে চালিত হয়, যার মধ্যে কয়েকটি directories PATH মাত্র কয়েকটি ডিরেক্টরি রয়েছে। এই কারণেই এটি টার্মিনাল থেকে কাজ করে তবে ক্রোন দিয়ে নয়। (আসলে, যখন কিছু সাধারণ টার্মিনাল থেকে কাজ করে তবে ক্রনের মাধ্যমে নয়, এটি আমি প্রথম জিনিস যাচাই করি))
সিভিএন

1
@ সিভিএন; সমস্যাটি কী তা আমি জানি না তবে আমি যখন ইকো দ্বারা এসপিডি-বলে প্রতিস্থাপন করি এবং ক্রোনটব কাজ সেট করি: ট্র্যাশ> Desk / ডেস্কটপ / ট্র্যাশ টেক্সট **, এটি কাজ করে এবং আমার ডেস্কটপে একটি ফাইল তৈরি হয়। আমি মনে করি আমার অন্য প্রশ্নে এটি সম্পর্কে জিজ্ঞাসা করা উচিত।
কোডিটো এরগো রাশি

হ্যাঁ, আপনি যদি এটি সম্পর্কে জিজ্ঞাসা করতে চান তবে দয়া করে এটি আলাদা প্রশ্ন হিসাবে জিজ্ঞাসা করুন।
একটি সিভিএন

'এখন, যখন আমি কোনও ম্যান পেজ দেখতে চাইছি সিস্টেমটি বলে: "হ্যালো, ট্র্যাশman
বিনটি

8
@ লজিকালব্র্যাঞ্চ আমি একমত নই; আমি তাদের ভালবাসি; তারা শক্তিশালী, অফ-লাইন গাইড।
কোডিটো এরগো योग

উত্তর:


30

উবুন্টু সিস্টেমে, ডিফল্টরূপে শেলের /bin/shএকটি প্রতীকী লিঙ্ক dash:

$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 Jul  7  2018 /bin/sh -> dash

সুতরাং (ধরে নিলাম আপনার টার্মিনাল এমুলেটরটি ব্যাশ শেলটি ব্যবহার করে, এবং আপনার ভুলের দ্বারা ভেঙে পড়েনি) আপনাকে যা করতে হবে তা হ'ল লিঙ্কটি পুনরায় তৈরি করুন:

sudo ln -sf dash /bin/sh

14
ওপি: mv /usr/local/bin/trash /bin/sh ,sh:: আপনি নিজের ব্যর্থতা নিয়ে বাঁচতে পারেননি, তা আপনাকে এনে কোথায় এলো? আমার কাছে ফিরে এসো.
লজিক্যালব্রঞ্চ

2
@ লজিকালব্র্যাঞ্চ কীভাবে আপনার কেবলমাত্র সেই মাস্টারপিসের জন্য 1 টি আপগেট রয়েছে?
বিক্রমরমুন

4
@ ভিকার্জরামুন এটিকে একটি মাস্টারপিসের মতো মনে হচ্ছে তবে আমি তা বেশ ভালই পাই না ...
নচট - মনিকা

@ নাচ এটি অ্যাভেঞ্জার্স থেকে: এন্ডগেম; থানোস খলনায়ক থেকে একটি লাইন।
কুল্লব

@ কুলুব ওওহ ..... ধন্যবাদ ... আমি এখনই এটি নিশ্চিতভাবে নিশ্চিত ...
নচট - মনিকা

7

না, আপনাকে আপনার সিস্টেমটি পুনরায় ইনস্টল করতে হবে না। / বিন / শ আপনার শেলের কেবল একটি সফটলিঙ্ক। readlink -f /bin/sh /bin/bashআমার ক্ষেত্রে বাশ। আপনার স্ক্রিপ্টটি সরান এবং আপনার প্রিয় শেলটিতে একটি সফটলিঙ্ক করুন।


10
/ বিন / শি আসলে / বিন / ড্যাশ দিকে নির্দেশ করা উচিত। যদি আপনি সিস্টেমের শেলটি পরিবর্তন করতে চান sudo dpkg-reconfigure dash, তবে প্রতি ব্যবহার করুন , আমি কীভাবে / বিন / শ পয়েন্টটি / বিন / ব্যাশ করতে পারি? । এছাড়াও মনে রাখবেন সিস্টেম শেলটি ডিফল্ট ইন্টারেক্টিভ শেল নয়।
wjandrea
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.