পরিবর্তনশীল BUILDNUMBER
মান 230. আমি আশা সেট করা হয় 230_
কমান্ডের জন্য ছাপা হবে echo $BUILDNUMBER_
কিন্তু নিচের চিত্রের আউটপুট খালি।
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
পরিবর্তনশীল BUILDNUMBER
মান 230. আমি আশা সেট করা হয় 230_
কমান্ডের জন্য ছাপা হবে echo $BUILDNUMBER_
কিন্তু নিচের চিত্রের আউটপুট খালি।
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
উত্তর:
কমান্ডটি echo $BUILDNUMBER_
ভেরিয়েবলের মান প্রিন্ট করতে চলেছে $BUILDNUMBER_
যা সেট করা নেই (আন্ডারস্কোরটি ভেরিয়েবলের নামের জন্য একটি বৈধ অক্ষর যা জেফ শ্যাচলার দ্বারা স্পষ্টভাবে উল্লেখ করা হয়েছে)
আপনাকে কেবল পরিবর্তনশীল নামের চারপাশে ব্রেস (কোঁকড়ানো বন্ধনী) প্রয়োগ করতে হবে বা সর্বাধিক অনমনীয় printf
সরঞ্জামটি ব্যবহার করতে হবে :
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
PS: সর্বদা আপনার ভেরিয়েবলগুলি উদ্ধৃত করুন।
জর্জ ভ্যাসিলিউ যেমন ইতিমধ্যে ব্যাখ্যা করেছেন , এর কারণ আপনি পরিবর্তকের $BUILDNUMBER_
পরিবর্তে মুদ্রণ করছেন $BUILDNUMBER
। আপনি যা চান তা পাওয়ার সর্বোত্তম উপায় হ'ল ${BUILDNUMBER}_
জর্জের ব্যাখ্যা অনুসারে ব্যবহার করা। এখানে আরও কিছু বিকল্প রয়েছে:
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_
$IFS
, তাই echo $BUILDNUMBER"_"
এখনও ভুল। তিনটির মধ্যে কেবলমাত্র printf '%s_\n' "$BUILDNUMBER"
সঠিক যদি আমরা না জানি $BUILDNUMBER
বা কী $IFS
ধরেছি।