প্রদত্ত শেলের মধ্যে সাধারণত আমি একটি ভেরিয়েবল বা ভেরিয়েবল সেট করেছিলাম এবং তারপরে একটি কমান্ড চালাতাম। সম্প্রতি আমি একটি কমান্ডের একটি পরিবর্তনশীল সংজ্ঞা প্রিপেন্ড করার ধারণা সম্পর্কে শিখেছি:
FOO=bar somecommand someargs
এটি কাজ করে ... ধরনের। যখন আপনি একটি LC_ * পরিবর্তনশীল পরিবর্তন করছি এটা কাজ করে না (যা কমান্ড প্রভাবিত বলে মনে হয়, কিন্তু না তার আর্গুমেন্ট, উদাহরণস্বরূপ, '[AZ] গৃহস্থালির কাজ রেঞ্জ) অথবা যখন thusly অন্য কমান্ড আউটপুট বংশীধ্বনিতুল্য:
FOO=bar somecommand someargs | somecommand2 # somecommand2 is unaware of FOO
আমি "এফইও = বার" এর সাহায্যেও কিছু কম্যান্ড 2 চালিয়ে দিতে পারি, যা কাজ করে তবে এতে অযাচিত নকল যোগ হয় এবং এটি ভেরিয়েবলের উপর নির্ভর করে ব্যাখ্যা করা যুক্তিগুলির সাথে সহায়তা করে না (উদাহরণস্বরূপ, '[অ্যাজ]')।
সুতরাং, একক লাইনে এটি করার একটি ভাল উপায় কী?
আমি এর আদেশে কিছু ভাবছি:
FOO=bar (somecommand someargs | somecommand2) # Doesn't actually work
আমি অনেক ভাল উত্তর পেয়েছি! লক্ষ্যটি হ'ল এটিকে একটি ওয়ান-লাইনার রাখুন, পছন্দ হিসাবে "এক্সপোর্ট" ব্যবহার না করে। বাশের কাছে একটি কল ব্যবহার করার পদ্ধতিটি সামগ্রিকভাবে সেরা ছিল, যদিও এটিতে "এক্সপোর্ট" সহ প্রথম সংস্করণটি ছিল আরও কিছুটা কমপ্যাক্ট। পাইপের পরিবর্তে পুনঃনির্দেশ ব্যবহার করার পদ্ধতিটিও আকর্ষণীয়।
(T=$(date) echo $T)
কাজ করবে