abc=okভেরিয়েবলের জন্য একটি মান নির্ধারণ করে abc। declare abcবলা হয় একটি ভেরিয়েবল ঘোষণা abc। দুটি হিসাবে একত্রিত করা যেতে পারে declare abc=ok।
ব্যাশ, অন্যান্য শাঁস মত, স্ট্রিং এবং অ্যারে ভেরিয়েবল ঘোষণা করা প্রয়োজন না, তাই declareযদি না আপনি অপশন পাস, যেমন চান প্রয়োজন হয় না declare -A abcকরতে abcএকটি মিশুক অ্যারে বা declare -rএকটি পরিবর্তনশীল কেবলমাত্র-পাঠ্য করা। যাইহোক, একটি ফাংশনের অভ্যন্তরে, declareএকটি পার্থক্য করে: এটি ফাংশনের পরিবর্তে ভেরিয়েবলকে স্থানীয় করে তোলে যার অর্থ ফাংশনের বাইরে ভেরিয়েবলের মান (যদি থাকে) সংরক্ষণ করা হয়। (আপনি যদি না ব্যবহার করেন declare -gযা ভেরিয়েবলটিকে স্থানীয় নয়; এটি অন্যান্য বিকল্পের সাথে মিলিত হলে কার্যকর হয়, উদাহরণস্বরূপ declare -gAকোনও ফাংশনে একটি গ্লোবাল এসোসিয়েটিভ অ্যারে তৈরি করতে)) উদাহরণ:
f () {
declare a
a='a in f'
b='b in f'
echo "From f: a is $a"
echo "From f: b is $b"
}
a='Initial a'
b='Initial b'
f
echo "After f: a is $a"
echo "After f: b is $b"
আউটপুট:
From f: a is a in f
From f: b is b in f
After f: a is Initial a
After f: b is b in f
declareবিল্টিনের সাথে আপনি আরও একটি জিনিস করতে পারেন
declareBuiltin ব্যাশ জন্য অনন্য হয়। এটি দৃ strongly়ভাবে অনুপ্রাণিত এবং ksh এর typesetবিল্টিনের খুব কাছাকাছি , এবং বাশ সামঞ্জস্যের typesetপ্রতিশব্দ হিসাবে সরবরাহ করে declare। (বাশ কেন কেবল এটি কল করেনি তা আমি জানি না typeset)। তৃতীয় প্রতিশব্দ আছে local,। এর রয়েছে export, যা হিসাবে একই declare -x, আবার সামঞ্জস্যের জন্য (প্রতি বোর্ন ধাঁচের শেল সহ)।
declareসাথে NAME কে স্থানীয় করে তোলেlocal।-gবিকল্প এই আচরণ শুষে নেবে। দেখুনhelp declare।