আমি সর্বদা অবাক হই যে ফোল্ডারে /bin
একটি [
প্রোগ্রাম রয়েছে।
এই কি বলা হয় যখন আমরা ভালো কিছু করছেন: if [ something ]
?
[
প্রোগ্রামটিকে স্পষ্টভাবে একটি শেলের মাধ্যমে কল করার মাধ্যমে এটি একটি অনুরূপ অনুরোধ করে ]
এবং আমি বন্ধনী বন্ধনী সরবরাহ করিলে মনে হয় বন্ধনীগুলির মধ্যে আমি যা সন্নিবেশ করিয়েছি তা কিছুই করা যায় না।
বলা বাহুল্য, কাজ করে না একটি প্রোগ্রাম সম্বন্ধে সাহায্য পেয়ে, অর্থাত তন্ন তন্ন সম্পর্কে স্বাভাবিক ভাবেই man [
না [ --help
কাজ করে।
man '['
আমার পক্ষে ভাল কাজ করে - হয় আপনি উদ্ধৃতি দিতে ভুলে গেছেন [
বা আপনার "কার্য" এর আলাদা সংজ্ঞা রয়েছে।
[
তর্কগুলি মূল্যায়ন করে, তাই আপনার সকলের মধ্যে ফাঁক হওয়া দরকার। [ a=b ]
তুলনা নয়: এটি সর্বদা সত্য হবে (এটি একটি একক স্ট্রিং: "a = b", যা সর্বদা সত্যের জন্য মূল্যায়ন করা হয় ) এবং আপনার পক্ষে যুক্তি সংখ্যা 4-এ সীমাবদ্ধ করা উচিত (যদিও সাম্প্রতিক বাস্তবায়নগুলি আরও বেশি অনুমতি দেবে .. 4 এর মধ্যে সীমাবদ্ধকরণ এটি আরও পোর্টেবল করে তোলে example উদাহরণস্বরূপ: [ "a" = "b" ]
ইতিমধ্যে 4 টি যুক্তি রয়েছে: "এ" "=" "বি" এবং পরীক্ষার আর্গুমেন্টের অপ্রয়োজনীয় শেষ: "]")। আপনার যদি আরও প্রয়োজন হয়: উদাহরণস্বরূপ চেইন পরীক্ষাগুলি:if [ "$Var_a" = "foo" ] && [ "$Var_b" = "bar" ] ; then : do something ; fi
!
নিজেই (অনাকাঙ্ক্ষিত এবং অব্যক্ত) প্রতিস্থাপন করা হবে না এবং আরও ভাল if ! [ ...
। ব্যাশ প্রসারণও ব্যবহার সব !
অন্তত অন্যান্য চরিত্র অন্তর্ভুক্ত
[
বিল্টিন রয়েছে bash
(এবং সম্ভবত অন্যান্য শেলগুলিও রয়েছে ) এবং এটি পরিবর্তে এটি ব্যবহার করা যেতে পারে /bin/[
। এছাড়াও- test
কম্যান্ড রয়েছে, যা অনেক সিস্টেমে প্রতীকী লিঙ্ক হয় /bin/[
(বা বিপরীতে) - তবে অন্যদের কাছে পৃথক কমান্ড।
[
বোঝায়test
যদিও তা নয়expr
, তবে এটি হওয়া উচিতman test