আমি কীভাবে সিডি-তে আউটপুট পুনর্নির্দেশ করব?


11

কমান্ডের আউটপুট এ পুনর্নির্দেশ করা সম্ভব cd? উদাহরণস্বরূপ, আমি একটি ডিরেক্টরি ব্যবহার করে অনুসন্ধান করেছি locateএবং এটির পথ পেয়েছি। এখন, কোনও cdপাথ লেখার পরিবর্তে , আমি কি locateআউটপুটটিতে পুনর্নির্দেশ করতে পারি cd?

আমি এটি চেষ্টা করেছি:

$ locate Descargas | grep Descargas$
/home/oliver/Descargas
$ locate Descargas | grep Descargas$ | cd
$ locate Descargas | grep Descargas$ > cd
$ locate Descargas | grep Descargas$ < cd
/home/oliver/Descargas
$ 

ভাগ্য নেই. এটি সম্ভবত বিশেষভাবে কার্যকর নয় তবে আমি কৌতূহলী।

উত্তর:


16

আপনি কমান্ডের বিকল্প চান, পুনর্নির্দেশ নয়:

cd "$(locate Descargas | grep -F 'Descargas$')"

$(এবং এর মধ্যে বিটগুলি )একটি কমান্ড হিসাবে চালিত হয় এবং আউটপুট (যে কোনও চূড়ান্ত নিউলাইনকে বাদ দেওয়া হয়) সামগ্রিক কমান্ডে প্রতিস্থাপন করা হয়।

এটি 'ব্যাক টিক্স' ("` ") দিয়েও করা যেতে পারে:

cd "`locate Descargas | grep -F 'Descargas$'`"

ডলার-প্যারেন সিনট্যাক্সটি সাধারণত পছন্দ করা হয় কারণ নেস্টেড পরিস্থিতিতে মোকাবিলা করা আরও সহজ:

# contrived
cd "$(grep '^dir: ' "$(locate interesting-places | head -1)" | sed 's/^[^ ]*//')"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.