বেস কেন "বাশ: সিডি: লেখার ত্রুটি: সাফল্য" মুদ্রণ করেছিল?


12

আমি আজ এটি বেশ কয়েকবার লক্ষ্য করেছি। যদি আমি cd ../Directoryঅন্য ডিরেক্টরিতে পরিবর্তন করতে টাইপ করি তবে এটি "বাশ: সিডি: লেখার ত্রুটি: সাফল্য" মুদ্রণ করে। এর সাথে পূর্ববর্তী অন্যান্য আদেশগুলি কী সম্পর্কিত হতে পারে তা আমি নির্ধারণ করতে পারি না।

  • typeset -f কিছুই মুদ্রণ।
  • alias কিছুই মুদ্রণ।
  • type -a cd প্রিন্টস "সিডি হ'ল শেল বিল্টিন"।
  • echo $CDPATH একটি খালি লাইন মুদ্রণ।
  • $BASH_VERSION মুদ্রণ "বাশ: 4.2.37 (1) - দয়া করে: কমান্ড পাওয়া যায় নি"।
  • আমি কেবল এটি 2-3 বার লক্ষ্য করেছি। প্রাথমিক ডিরেক্টরি এবং লক্ষ্য ডিরেক্টরি উভয় পরিস্থিতিতে অভিন্ন ছিল। আমি এই পদ্ধতিতে আরও অনেক বার ডিরেক্টরি পরিবর্তন করেছি, তবে সর্বদা ত্রুটির মুখোমুখি হই না।

কি এই সৃষ্টি হতে পারে?


type -a cdগ্লেন অনুরোধ হিসাবে এর আউটপুট যোগ করুন ।
টেরডন

typeআপনার প্রশ্নে কমান্ডের আউটপুট যুক্ত করুন । এছাড়াও, এটি কি সমস্ত ডিরেক্টরিতে ঘটে থাকে বা কেবলমাত্র যদি আপনি নির্দিষ্ট কোনও (গুলি) তে থাকেন? এবং এর আউটপুট কি echo $CDPATH?
terdon

আপনি কোন সঠিক বাশ সংস্করণটি (ইন $BASH_VERSION) চালাচ্ছেন?
গাবে

আমি bash 4.2.37(1)
গ্রাম

উত্তর:


6

একটি বাগ হতে পারে?

এটি একটি সম্ভাব্য বাগের মতো শোনাচ্ছে। আমি একই বার্তাটি দেখানো একটি অনুরূপ প্রতিবেদন পেয়েছি। বাগ ব্যাশ: পিডব্লিউডি বিল্টিন লেখার ত্রুটির সাথে প্রস্থান করে: সাফল্য

উদ্ধৃতাংশ

ফেরার (স্টাডআউট) শূন্য-শূন্য না হলে এই বার্তাটি প্রদর্শিত হবে। কোনও কারণে (সম্ভবত চেকের পূর্ববর্তী fflush () অবিলম্বে কল করুন), স্টাডিও ফেরার () ত্রুটি স্থাপন না করে সত্য ফিরিয়ে আনছে।

এটি কি পরপর দু'বার ঘটে? পিডব্লিউডি বিল্টইন ত্রুটি বার্তাটি প্রিন্ট করার পরে ক্লিয়ারার () কল করে, সুতরাং এমনকি stdout ত্রুটি পতাকা icks লাঠিগুলি, এমনকি যদি এটি পরিষ্কার করা উচিত।

ইতিহাস আপডেট করা যাবে না?

ত্রুটিটি আমাকে ভাবতে বাধ্য করে যে এটি ডিরেক্টরি পরিবর্তন করতে সফল হয়েছিল তবে cd ../Directoryআপনার কাছে আদেশটি লিখতে সক্ষম হয় নি $HOME/.bash_history। আমি নিশ্চিত করব যে এই ফাইলটি অক্ষত এবং লিখিতযোগ্য। আপনার $HOMEডিরেক্টরিটি লেখার যোগ্য এবং পূর্ণ নয় তাও নিশ্চিত করুন ।

$ df -h $HOME
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/fedora_greeneggs-home  402G  157G  225G  42% /home

/homeপার্টিশন অনেক স্থান পাওয়া আছে। ".বাশ_ইস্টিরি" তে আমি কোনও অদ্ভুত কিছু পেতে পারি না, এটি কেবল মালিকের জন্য পড়া এবং লেখার জন্য সেট করা আছে। আমি যখনই কোনও টার্মিনালটি ত্যাগ করি তখনও সেই টার্মিনালটির ডেটা সেখানে যায়। এটি কি সম্ভব হয়েছে কারণ আমি একই সাথে একাধিক টার্মিনাল উইন্ডো চালাচ্ছিলাম?
গ্রাম

@ উইলেজ - সম্ভবত, তবে প্রতিবার শেলের মধ্যে যখন কোনও কমান্ড চালানো হবে তখন এটি ইতিহাসের ফাইলটিতে একটি লক পাওয়া উচিত এবং এটি সম্পন্ন হওয়ার পরে ছেড়ে দেওয়া উচিত, অন্যান্য প্রতিটি প্রক্রিয়া একইভাবে অপেক্ষা করবে wait
slm

~/.bash_historyকমান্ড চালানোর পরে বাশ তাত্ক্ষণিকভাবে লেখেন না , তবে অধিবেশন বন্ধ হওয়ার পরে, তাই না?
সফট

@ পেমাপমডার - ঠিক আছে, ওপি যদি এরকম কিছু করে থাকে তবে তা আমার কাছে অস্পষ্ট ছিল: Askubuntu.com/questions/67283/…
slm

আমিও একই সমস্যার মুখোমুখি হয়েছি এবং আমি নিশ্চিত যে এটি সত্য নয় (কারণ আমি তখন ছিলাম su rootএবং তাত্ক্ষণিকভাবে tail /root/.bash_historyপ্রাসঙ্গিক কিছু দেখিনি, তারপরে exitআমার সাধারণ ব্যবহারকারীর কাছে ফিরে এসে sudo tail /root/.bash_history, এবং লাইনটি (উভয় লাইনই, যেহেতু আমি পুনরাবৃত্তি করেছি cd) সত্যই লেখা হয়েছিল
সোফ

3

আপনার সিডি কমান্ড হয় একটি উপনাম বা সম্ভবত বাশ ফাংশন।

typeset -f  # displays functions
alias       # display aliases

উপরের কমান্ডগুলির সাথে পাওয়া না গেলে কমান্ডের which cdপথটি সনাক্ত করা হবে cd

দেখুন cdস্বাভাবিক শুরু স্ক্রিপ্ট-এ ওরফে বা ফাংশন সংজ্ঞা .bash_profile, .bashrcএবং .profile


typeset -f, aliasএবং which cdসমস্ত কিছুই কিছুই দেয় না, এবং অন্যান্য ফাইলগুলিতে কেবল থাকে PATH=~/.context/tex/texmf-linux/bin/:$PATH
গ্রাম

2
ব্যবহারtype -a cd
গ্লেন জ্যাকম্যান

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