আমার সিস্টেমের / বিনে থাকা that [`প্রোগ্রামটি কী?


32

আমি সম্প্রতি আমার ফেডোরার /binফোল্ডারটি ব্রাউজ করছি এবং একটি বাইনারি নামের লক্ষ্য করেছি [। আমি এই বিষয়ে আরও তথ্যের জন্য ইন্টারনেটে অনুসন্ধান করার চেষ্টা করেছি, তবে আমি কার্যকর কিছু খুঁজে পেলাম না। এটি দিয়ে চালানো straceখুব কাছাকাছি পরিদর্শন করার জন্য দরকারী কিছু উত্পাদন করে বলে মনে হচ্ছে না।

এটা কি? আমার কি সতর্ক হওয়া উচিত? এটি কি কোনও সিস্টেমের সমঝোতার ফলাফল হতে পারে? আমি এটা চালানো উচিত? এটি কোনও প্যাকেজের অন্তর্ভুক্ত?


4
[ -f /bin/[ ] && printf "%s\n" "Don't panic"
জেসনওয়ারিয়ান

@ জেসনওয়ারিয়ান হ্যাঁ, এটি বের করতে আমার কিছুটা সময় লেগেছে। নেটে এর জন্য আমি খুব বেশি তথ্য খুঁজে পাইনি, এবং গুগল খুব একটা সাহায্য করে নি। এটি এখানে এখানে পোস্ট করে আশা করি যে এটি আমার জুতাতে থাকা পরবর্তী ব্যক্তিকে সহায়তা করতে পারে।
NlightNFotis

10
চালান man [তা দেখতে [কমান্ড!
গিলস 'এস-অশুভ হওয়া বন্ধ করুন'

@ গিলস সত্যি কথা বলতে, আমি এটি করেছি এবং এটি সম্পর্কে কিছু উল্লেখ করেছি bashএবং অনুভব করেছি যে এটি অন্যরকম কিছু হতে পারে। এটি আপনার প্রথম মনে হয় না যখন আপনি নিজের ফাইল সিস্টেমে আগে কখনও দেখেননি এমন একটি নামযুক্ত বাইনারি দেখেন - বা এটি অন্য কোনও উপায়ে বলতে গেলে আপনার মাথার সন্দেহগুলি দূর করার জন্য আপনাকে আরও কিছু কংক্রিটের সন্ধান করতে হবে ।
NlightNFotis

4
rpm -qif /bin/[এটি কোথা থেকে আসে তা জানতে একটি করুন ...
ভনব্রান্ড

উত্তর:


37

[বাইনারি অধীনে অবস্থিত /binঅনেক জিএনইউ / লিনাক্স ডিস্ট্রিবিউশন গাছের কিছু বন্ধ আতঙ্কিত করা হয় না। কমপক্ষে আমার ফেডোরা ১৯-তে এটি কোর্টিল প্যাকেজের একটি অংশ, যা নীচে প্রদর্শিত হয়েছে:

$ rpm -qf /bin/[
coreutils-8.21-13.fc19.x86_64

এবং শেল স্ক্রিপ্টগুলিতে এমনকি ইন্টারেক্টিভ ব্যবহারে লিখিত থাকতে testপছন্দ [ expression ]করার জন্য একটি প্রতিশব্দ ।


16
মনে রাখবেন যে শেলগুলির মতো bashএকটি অন্তর্নির্মিত থাকে testএবং [বাহ্যিক বাইনারিগুলিকে অনুরোধ করে না।
জর্দানম

1
@ জর্দান, আজ বেশিরভাগ শেলগুলিতে বিল্টিন হিসাবে সেগুলি রয়েছে (এবং আরও অনেক সাধারণ, সাধারণ অপারেশন)। তবে এটি সর্বদা ছিল না (বা সমস্ত শেলের মধ্যে তাই)। এটি পসিক্স দ্বারা জারি করা হতে পারে।
ভনব্রান্ড

2
@vonbrand pubs.opengroup.org/onlinepubs/009695399/utilities/test.html আপনি ঠিকই বলেছেন। [এই স্পেসিফিকেশন দ্বারা একটি পরীক্ষা আদেশ প্রয়োজন required
ইগেল

@ ভনব্র্যান্ড, কেবল বোর্নের মতো শেলগুলির সাধারণত বিল্টিন [কমান্ড থাকে। অ বোর্ন মত মত বেশী (t)csh, rc, esসাধারণত করবেন না ( fishএকটি সেখানে ব্যতিক্রম নয়)।
স্টাফেন চেজেলাস

5

[কমান্ড হিসাবে একই testকমান্ড।

এটি আপনাকে শেল স্ক্রিপ্টগুলিতে বরং শর্তসাপেক্ষ বিবৃতি লিখতে দেয়। সানওএস ম্যানুয়াল পৃষ্ঠা থেকে:

   if [ "$1" = "pear" ] || [ "$1" = "grape" ] || [ "$1" = "apple" ]
   then
       command
   fi

এটি মুছে ফেললে স্ক্রিপ্টগুলি ভেঙে যাবে!


[অন্তর্নির্মিত কমান্ড হিসাবে শেলগুলির জন্য লিখিত স্ক্রিপ্টগুলি ভেঙে যাবে। বেশিরভাগ শাঁসই করে। তবুও, আমি অবশ্যই অপসারণের পরামর্শ দেব না /bin/[
কিথ থম্পসন

@ কিথথম্পসন, সমস্ত শেলগুলি অন্তর্নির্মিত রয়েছে, [এটির স্ক্রিপ্টগুলির শেলবিহীন অ্যাপ্লিকেশন রয়েছে [যা ভেঙে দেবে। পছন্দ করুন find ... -exec [ -f {} ] \;বাenv LC_ALL=C [ -f bar ]
স্টাফেন চেজেলাস

@StephaneChazelas: সব শেল? (সিএসএস এবং টিসিএস না, তবে সম্ভবত এটি পয়েন্টের পাশেই রয়েছে।) আমি মনে করি না যে আমি কোনও ছ-উত্পন্ন শেল দেখেছি যা [বিল্টিন হিসাবে নেই , তবে মনে করি না যে [এটি কোনও বিল্টিন ছিল বোর্ন শেল যে কোনও ক্ষেত্রে, অপসারণ /bin/[অবশ্যই একটি খারাপ ধারণা হবে।
কিথ থম্পসন

মাইনর টাল: testএবং [হয় প্রায় একই। [একটি সমাপ্তি প্রয়োজন ]; testএটি অনুমতি দেয় না (বা বরং ]বিশেষভাবে একটি যুক্তি আচরণ করে না )।
কিথ থম্পসন

2

[সর্বদা পরীক্ষার সমতুল্য হিসাবে দেওয়া হয়, তবে আমি উল্লেখ করা হয়নি] তবে স্পষ্টভাবে উল্লেখ করেছি, যদিও এটি সর্বদা থাকে। আমি এখনই এটি http://ss64.com/bash/test.html এ পেয়েছি :

When the [ form is used, the last argument to the command must be a ]

যা আশ্বস্ত করে - অবশেষে আমার বক্তব্য যেমন শেষ হয় ততক্ষণে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.