আমি একটি ফাইল সন্ধান করতে চাই এবং তারপরে এটিতে থাকা ডিরেক্টরিটি লিখি। আমি চেষ্টা করেছি find /media/storage -name "Fedora" | xargs cd
তবে অবশ্যই আমি is not a directory
ত্রুটি করেছি।
আমি ওয়ান লাইন কমান্ড দিয়ে এর প্যারেন্ট ডিরেক্টরিটি কীভাবে প্রবেশ করব?
shopt -s globstar
আপনি করতে পারেন cd /media/storage/**/Fedora
, তবে এটি প্রথম ম্যাচে গ্লোবকে মূল্যায়ন করা থামিয়ে দেয় না (সুতরাং এটি স্টিল্ড্রাইভারের সমাধানের চেয়ে ধীর গতির inte ইন্টারেক্টিভ ব্যবহারের জন্য, আমি সাধারণত যা করতাম তা হ'ল মাউসের কাছে পৌঁছানো এবং ডিরেক্টরিটির নাম অনুলিপি / পেস্ট করা, (এবং Alt + ব্যাকস্পেসটি আমি চাই না এমন পথের উপাদানগুলি ছিনিয়ে নেওয়ার প্রয়োজন হিসাবে) তবে আপনি যদি এটি অনেক কিছু করেন তবে আমার ধারণা শেল ফাংশনটি
xargs cd
সম্ভবত কাজ করতে পারে না। cd
এটি কেবল শেল বিল্টিন হিসাবে কাজ করতে পারে, কারণ এটি নিজেই শেলের প্রসঙ্গটি পরিবর্তন করতে হয়। কোনও xargs
শিশু প্রক্রিয়া এটি করতে পারে এমন কোনও উপায় নেই । আইডি কে যদি আপনি "অবশ্যই" বলতে চেয়েছিলেন, বা যদি find
প্রিন্ট করে যে পথটিতে শূন্যস্থান রয়েছে, যা আপনি ব্যবহার করেন নি -d \n
বা কোনও কিছু না হওয়ায় এক্সার্গেস দ্বারা বিভক্ত । বা find -exec {} \;
।
cd
যে মত চালাতে পারবেন না । cd
এটি হ'ল বাশ, যদি cd
আলাদা কমান্ড থাকত, তবে এটি (নিজস্ব) দির পরিবর্তন হত এবং তারপরে (আপনাকে শেলের কাছে ফিরিয়ে দেওয়া হবে, যা পূর্বের মতো একই অবস্থায় রয়েছে, দির কোনও পরিবর্তন হয়নি)।