কোনও কারণে এই অ্যাসাইনমেন্টটি: OUT=$(git describe HEAD)স্টাডআউটে মুদ্রণ (উদাহরণস্বরূপ):fatal: No names found, cannot describe anything.
এটি কি স্বাভাবিক আচরণ? অন্যান্য আদেশের সাথে কেন এটি ঘটে না?
কোনও কারণে এই অ্যাসাইনমেন্টটি: OUT=$(git describe HEAD)স্টাডআউটে মুদ্রণ (উদাহরণস্বরূপ):fatal: No names found, cannot describe anything.
এটি কি স্বাভাবিক আচরণ? অন্যান্য আদেশের সাথে কেন এটি ঘটে না?
উত্তর:
এটি আসলে stderrআউটপুট, না stdout। একটি ইন্টারেক্টিভ টার্মিনাল থেকে একটি কমান্ড চালানোর সময়, উভয়ই stdoutএবং stderrটার্মিনালে যেতে সেট করা হয়।
আপনি যদি stderrনিজের ভেরিয়েবলের আউটপুট চেয়েছিলেন (যা আপনি সম্ভবত করেন না তবে তবে এটি) এটির stdoutমতো পুনর্নির্দেশ :
OUT=$(git describe HEAD 2>&1)
অথবা আপনি যদি না চান যে আপনার স্ক্রিপ্টটি চালাচ্ছেন সেই ব্যক্তি যদি stderrআউটপুটটি দেখতে পায় তবে এটিকে এভাবে ফেলে দিন:
OUT=$(git describe HEAD 2>/dev/null)