/ ইউএসআর / বিন / কী এবং আমি কীভাবে এটি ব্যবহার করব?


26

আমি coreutils দিকে তাকিয়ে ছিল coreutils অংশ হিসাবে অন্তর্ভুক্ত ফাইল এক হিসাবে এই পাওয়া যায়নি: /usr/bin/[। এটি কি [এবং এটি কী করে?

এটি কার্যকর করা যায়। আমি এটি জানি না এটি কী করে বা কীভাবে এটি ব্যবহার করবে।

N ফাইল / ইউএসআর / বিন / [
/ ইউএসআর / বিন / [: ইএলএফ 32-বিট এলএসবি এক্সিকিউটেবল, ইন্টেল 80386, সংস্করণ 1 (এসওয়াইএসভি), গতিযুক্তভাবে সংযুক্ত (শেয়ারড লিবগুলি ব্যবহার করে), জিএনইউ / লিনাক্স ২.6.১৫ এর জন্য ছিনিয়ে নেওয়া হয়েছে)

আমি যখন এটি চালানোর চেষ্টা করি তখন আমি মনে করি এটি লাইন প্রসারণে নির্মিত ব্যাশের ডিফল্ট। পরিবর্তে আসলে ফাইল চালানো।

$ "/ ইউএসআর / বিন / ["
/ ইউএসআর / বিন / [: নিখোঁজ ] ']' $ /usr/bin/\[
/usr/bin/[: missing



2
man [ওএস এক্সে কাজ করে
ড্যানিয়েল বেক

উত্তর:


33

এটি কমান্ডের সমতুল্য test। (দেখুন info test।) সাধারণত আপনি এটি লিখিতভাবে শর্তাধীন অভিব্যক্তিগুলিতে স্ক্রিপ্টগুলিতে ব্যবহার করেন:

if [ -n "$1" ]; then
    echo $1
fi

শর্তসাপেক্ষ বন্ধ করার জন্য বন্ধ বন্ধনীটি আবশ্যক। (আচ্ছা, কোডটিতে আরও ভাল দেখতে এটি দেখতে প্রয়োজনীয় লাগছে। এর জন্য অন্য কোনও ব্যবহারিক কারণ কি কেউ জানেন?)


3
লক্ষ্য করুন [হয় উভয় একটি শেল বিল্ট-ইন এবং একই (অথবা অনুরূপ) ব্যবহারের সঙ্গে একটি বহিস্থিত প্রোগ্রাম। ব্যাশে, আপনি যখন চালাবেন [বা testআপনি অন্তর্নির্মিতকে ডাকছেন।
মাধ্যাকর্ষণ

এটি প্রয়োজন কারণ এটি যদি alচ্ছিক হয় তবে সিনট্যাক্সটি কিছু পরিস্থিতিতে অস্পষ্ট হত।
র্যান্ডম 832

20

এটি testআদেশের সমতুল্য ।

পরিবর্তে

if /usr/bin/test -z "$VAR"
then
    echo VAR not set
fi

তুমি ব্যবহার করতে পার:

if /usr/bin/[ -z "$VAR" ]
then
    echo VAR not set
fi

এটি লুপগুলিতেও ব্যবহার করা যেতে পারে:

i=0
while [ $i -lt 10 ]
do
   echo $i
   ((i++))
done

আপনি এগুলিকে ওয়ান-লাইনারে ব্যবহার করতে পারেন:

[ -z "$VAR" ] && echo VAR not set && exit

[ -f foo.txt ] && cat foo.txt

2
এটি কীভাবে ব্যবহার করা যায় তার দুর্দান্ত উদাহরণ। "if / usr / bin / ["
nelaaro
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.