নিম্নোক্ত বিবেচনা কর:
$ ksh -c '1(){ echo hi;};1'
ksh: 1: invalid function name
$ dash -c '1(){ echo hi;};1'
dash: 1: Syntax error: Bad function name
$ bash -c '1(){ echo hi;};1'
bash: `1': not a valid identifier
bash: 1: command not found
$ mksh -c '1(){ echo hi;};1'
hi
মূলত, আমি ফাংশনগুলি ঘোষণা করার চেষ্টা করছিলাম 1
এবং 0
এটি সংক্ষিপ্ততর হবে true
এবং false
আপনি দেখতে পাচ্ছেন যে আমি ফাংশনে সংখ্যার নাম ব্যবহার করে সমস্যায় পড়েছি। উপন্যাস এবং দুই-অঙ্কের নামগুলির সাথে একই আচরণ ঘটে।
প্রশ্ন "কেন"? এটি পসিক্স দ্বারা বাধ্যতামূলক? বা বোর্ন-এর মতো শাঁসগুলি কি কেবল?
এটির সাথে সম্পর্কিত প্রশ্নও দেখুন ।
0
তা লক্ষণীয় , যদি কেউ এগুলি পড়েন তবে এটি অজানা থাকে। এটি অন্যান্য বেশিরভাগ প্রোগ্রামিং ভাষা থেকে পিছনে। true
1
false
true
শেল। তবে গাণিতিক প্রসারণে $((...))
রিটার্নের স্ট্যাটাসগুলি উল্টানো হয় - 1 টি true
এবং 0 false
সি-ভাষার বাক্য গঠনগুলির সাথে সামঞ্জস্যের জন্য। উদাহরণস্বরূপ চেষ্টা করুন bash -c 'echo $((1==1));echo $((1==2))'
আমি এই প্রশ্নের বাইরে যা করার চেষ্টা করছিলাম তা আসলে আচরণ "বিপরীত" " আমি ঠিক কী করার চেষ্টা করছিলাম তা দেখতে এখানে আমার উত্তরের শেষ উদাহরণটি দেখুন । নির্বোধ ধারণা, তবে তবুও কাজ করে