আমি এই কমান্ডটি দিয়ে একটি ফাইলের সর্বশেষ পরিবর্তনের তারিখ পাওয়ার চেষ্টা করছি
TM_LOCAL=`ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'`
এই লাইনটি কার্যকর করার পরে TM_LOCAL এর "2012-05-16 23:18" এর মতো মান রয়েছে
আমি ত্রুটি আছে কিনা তা দেখতে পাইপস্ট্যাটাস পরীক্ষা করতে চাই। উদাহরণস্বরূপ, যদি ফাইল উপস্থিত না থাকে, ls
2 প্রদান করে But তবে $?
এর মান 0 রয়েছে কারণ এটির ফেরতের মান রয়েছে awk
।
আমি যদি এই কমান্ডটি একা চালাই তবে আমি ls এর রিটার্ন মানটি দেখে যাচাই করতে পারি ${PIPESTATUS[0]}
ls -l --time-style=long-iso ~/.vimrc | awk '{ print $6" "$7 }'
তবে $PIPESTATUS
আমি যেমনটি প্রত্যাশা করেছিলাম তেমন কাজ করে না যদি আমি প্রথম উদাহরণের মতো আউটপুটটি একটি ভেরিয়েবলের কাছে নির্ধারণ করি। এই ক্ষেত্রে $PIPESTATUS
অ্যারেতে কেবল 1 টি উপাদান রয়েছে যা একই$?
সুতরাং, প্রশ্নটি হল, আমি কীভাবে দুজনেই পেতে পারি $PIPESTATUS
এবং একই সাথে আউটপুটকে একটি ভেরিয়েবলের বরাদ্দ করতে পারি ?