ওএসএক্স ক্ষেত্রে বাশ কি সংবেদনশীল নয়?


79

ওএসএক্স ক্ষেত্রে বাশ আদেশগুলি সংবেদনশীল নয়? আমি "কোন টিআর" টাইপ করি এবং এটি / ইউএসআর / বিন / টিআর দেখায়, যদিও সেখানে কোনও বাইনারি নেই। অন্য বাইনারিগুলির ক্ষেত্রে একই জিনিস capital বা টার্মিনাল.অ্যাপ সম্ভবত এই অনুবাদটি করছে? আমি কীভাবে এটি বন্ধ করব?


কৌতূহলের বাইরে আপনি কেন এটি বন্ধ করতে চান?
সেরেন কুকলাউ

এটি একটি দর্শনীয় প্রশ্ন। কেস রেঞ্জগুলিতে মেলে কিনা তা নিয়ন্ত্রণে বাশের একটি নোকাসেগ্লোব বিকল্প রয়েছে, তবে এই সামান্য কৌশলটি সাধারণ localeএবং সমাপ্তি-উপেক্ষা-কেস / নোকাসেগ্লোবের
বিমিকে

3
যে কারণে আমি এটিকে বন্ধ করতে চেয়েছিলাম তা সত্যিই নির্বোধ। শেল এ কাজ করার সময় আমি সংবেদনশীলতা কেস করতে অভ্যস্ত। আমি কেবল উদ্বিগ্ন এই বৈশিষ্ট্যটি আমাকে ট্রিপ করবে। উদাহরণস্বরূপ, আমি একটি বাশ স্ক্রিপ্ট লিখি, 'lS' ভুল টাইপ করি; স্ক্রিপ্টটি ওএসএক্সে সূক্ষ্মভাবে চলবে। আমি এটিকে আমার সেন্টটোস বাক্সে স্থানান্তরিত করি এবং এটি ভেঙে যায়। অনুমোদিত, এটি সনাক্ত করা এবং ঠিক করা সহজ হবে তবে আমি যদি দুটি সিস্টেমের মধ্যে স্ক্রিপ্টগুলি একইভাবে কাজ করতে পারি তবে পুরোপুরি দৃশ্যটি এড়ানো সম্ভব। আমি দুর্ঘটনাক্রমে এটি আবিষ্কার করেছি এবং এটি এখন পর্যন্ত কোনও উপদ্রব হয়নি, তাই আমি সম্ভবত এটির জন্য ফাইল সিস্টেম পরিবর্তন করার অনুশীলনটি দিয়ে যাব না।
19:30

5
যে কারণে আপনি এটিটি বন্ধ করতে চাইছেন তা হ'ল সংবেদনশীলতা এসভিএন এর মতো কিছু অ্যাপ্লিকেশানের জন্য সমস্যা সৃষ্টি করে। কেস সংবেদনশীল গ্লোব্বিং দরকারী হতে পারে তবে এসভিএন খুব বিভ্রান্ত হয়ে পড়ে যদি আপনি "ফু" নামে একটি ফাইল তৈরি করেন তবে কোনওরকম সংগ্রহস্থল "foo" র একটি রেফারেন্স তৈরি করে।

অক্ষম করার আরেকটি কারণ: ১৯৮০ সাল থেকে আমার পথে আমার স্ক্রিপ্ট bin / বিন / সিসি ছিল c সিসি কিছু আনন্দদায়ক ডিফল্ট। এটি ইউএনআইএক্স ভি from থেকে ভি,, ইউনিস, বিএসডি ৪.১, ৪.২, ৪.৩, এসভিআর ৪, জেনিক্স, গোল্ড ইউটিএক্স, লিনাক্স, সিগউইন ... এর মাধ্যমে কাজ করেছে এবং ম্যাকওএস, অসীম পুনরাবৃত্তিতে এটি প্রথমবার ব্যর্থ হয়েছিল।
ক্রেজি গ্লিউ

উত্তর:


94

এটি আসলে আপনার ডিস্কের ফাইল সিস্টেমের বৈশিষ্ট্য, বাশ বা টার্মিনাল.এপ নয় not

এইচএফএস + (ম্যাক ফাইল সিস্টেম) সাধারণত কেস সংবেদনশীল তবে কেস সংরক্ষণের জন্য কনফিগার করা হয় । এর অর্থ হ'ল ফাইল সিস্টেমটি বিবেচনা করবে fooএবং FoOএকই হবে তবে আপনি যখন একটি নতুন ফাইল তৈরি করবেন তখন এটি মনে করবে কোন অক্ষরটি কোথায় মূলধন হয়েছিল এবং কোনটি ছিল না।

আপনি যখন এইচএফএস + এর সাথে ডিস্ক ফর্ম্যাট করেন তখন আপনি ফাইল সিস্টেমটি সংবেদনশীল হওয়া উচিত কিনা তা চয়ন করতে পারেন। আপনি যদি ইউএফএস (ইউনিক্স ফাইলসিস্টেম) এর সাথে ফর্ম্যাট করতে বেছে নিয়ে থাকেন তবে এটি সর্বদা সংবেদনশীল, এএফআইকে।

ডিস্কটি কেস সংবেদনশীল কিনা তা পরীক্ষা করতে, চালনা করুন:

 diskutil info <device>

উদাহরণ স্বরূপ:

 diskutil info disk0s2

Name:লাইন জন্য দেখুন । এটি যদি এর মতো কিছু পড়ে থাকে Mac OS Extended (Case-sensitive, Journaled)তবে এর অর্থ এটি কেস-সংবেদনশীল। যদি এটি কেবল Mac OS Extended( পড়া ছাড়াই Case-sensitive) পড়ে থাকে তবে এটি কেবল ক্ষেত্রে সংরক্ষণ করা তবে কেস সংবেদনশীল নয়


6
ইউনিক্সের বাইরে প্রকৃতি সংরক্ষণের বিষয়টি এতটা অস্বাভাবিক নয়। উদাহরণস্বরূপ, এনটিএফএস অনুরূপ: ডিফল্টরূপে সংবেদনশীল নয়, তবে আপনি এটি ফর্ম্যাট করতে পারেন it আমি আরও মনে করি যে ম্যাক ওএস 9 এর মাধ্যমে সংবেদনশীল কেসটি ডিফল্ট হয়েছে , তবে ম্যাক এবং উইন্ডোজ বিকাশকারীরা অনেক ক্ষেত্রেই এই ক্ষেত্রে অলস এবং সঠিক কেসিংয়ের বিষয়ে যত্নশীল না হওয়ার বিষয়টি ডিফল্ট হিসাবে সংবেদনশীল ক্ষেত্রে স্যুইচ করা প্রায় অসম্ভব করে তোলে the , এটি প্রচুর অ্যাপ্লিকেশনগুলিকে ভেঙে দেয়। ইউনিক্স থেকে আগত, আমি প্রথমে এটি খুব অদ্ভুত বলে মনে করি।
ডার্কডাস্ট

1
আমাকে স্বীকার করতে হবে আমি কখনই ক্লাসিক ম্যাক ওএস ব্যবহার করি নি, অনুমান করা হয়েছিল। যেভাবেই হোক না কেন, এটিই উত্তর, এবং ডার্কডাস্ট এটিকে আমার চেয়ে আরও ভাল রাখে তাই এইটিকে গ্রহণ করা উচিত বলে আমি মনে করি।
স্টিফ করুন

6
ম্যাক ওএসের প্রতিটি সংস্করণ ব্যবহারযোগ্যতার কারণে কেস-সংবেদনশীল-তবে-সংরক্ষণ করা হয়েছে। ইউনিক্স যথাযথতার পক্ষে (ফাইল-বাইট বাই ফাইলের তুলনা), এটি শেষ ব্যবহারকারীদের জন্য দুর্ঘটনাক্রমে 'রেজ্যুম' এবং 'রিজিউম' সংরক্ষণ করে এবং তখন তারা ভুল সংস্করণটি খুললে বিভ্রান্ত হয়ে যায় এবং তাদের সমস্ত পরিবর্তন হয়ে যায় ।
ড্যান উদে

2
অন্যদিকে, প্রোগ্রামটি / ইউএসআর / বিন / হেড (কোনও ফাইলের প্রথম লাইনগুলি দেখানো হয়) / ইউএসআর / স্থানীয় পরিবর্তে কার্যকর করা হলে কমান্ড-লাইনের ফলাফলগুলিতে "হেড" টাইপ করার সময় এটি "ব্যবহারযোগ্য দুঃস্বপ্ন " হতে পারে / বিন / হেড (এলডাব্লুপি থেকে: একটি HTTP 'হেড' অনুরোধ করুন)।
টিএমএল

2
এই ভেবে যে প্রতিটি বড় হাতের অক্ষরের জন্য একটি ছোট হাতের সমতুল্য এবং তদ্বিপরীত ইংরেজি স্পিকার প্রোগ্রামারগুলির মধ্যে সাধারণত, এবং স্থানীয়ভাবে স্বাধীন নয়। আমি জানি না তুরস্কের জন্য কী সমাধান গৃহীত হয়েছে, যেখানে সেখানে বিন্দুযুক্ত ছোট ছোট হাতের অক্ষর রয়েছে, যেখানে iডটলেস বড় İহাতের Iঅক্ষর ডটলেস ছোট হাতের সাথে মিলেছে ı, তবে কোনও সমাধানই খারাপ হবে। এবং ßপ্রায়শই 2 Sটি মূলধনযুক্ত জার্মান সম্পর্কে কী বলা যায় ? এবং উচ্চারণগুলি প্রায়শই মূলধন দেওয়ার সময় বাদ যায়? এবং ... কেস সংবেদনশীলতা এই সমস্ত মাথাব্যথা সরিয়ে দেয়।
ওয়াল্টার ট্রস

5

আপনার ফাইল সিস্টেমটি একবার দেখুন, কারণ এইচএফএসে কেস সংবেদনশীল এবং কেস সংবেদনশীল ভিন্নতা রয়েছে। ডিফল্ট হ'ল সংবেদনশীল, এই ক্ষেত্রে এটি BASH তেমন ঘটনা নয়, তবে অন্তর্নিহিত ফাইল সিস্টেম yste আপনি কেস স্পর্শকাতর বিকল্পের সাথে একটি অতিরিক্ত ইউএসবি স্টিক ফর্ম্যাট করে এবং এটিও পরীক্ষার পুনরাবৃত্তি ইত্যাদি ফাইলগুলি অনুলিপি করে পরীক্ষা করতে পারেন etc.



1

বাশ অবশ্যই ক্ষেত্রে সংবেদনশীল।

আমি টার্মিনালে সবেমাত্র 'হোয়ামি' টাইপ করেছি এবং ক্যাপস লক বোতামটি চালু ছিল।

আমি `WHOAMI 'এর থেকে সম্পূর্ণ ভিন্ন প্রতিক্রিয়া পেয়েছি।

আমি দেখতে পাচ্ছি যে 'WH' এর সাথে WHOAMI কমান্ড রয়েছে তবে আমি এটি 'ls' দিয়ে খুঁজে পাই না।


4
এটি শেলটি সংবেদনশীল হওয়ার বিষয়টি নয়, এটি whoamiনিজেই প্রোগ্রাম। এটি আসলে একই প্রোগ্রাম id, তবে এটি কোন নাম হিসাবে চালিত হয়েছিল তা যাচাই করে এবং id -un"হোয়ামি" নামে চালিত হলে একটি আলাদা আউটপুট (সমতুল্য ) ব্যবহার করে । এই চেকটি কেস সেনসিটিভ। আউটপুট তুলনা করুন id, WHOAMI, WhOaMi, WhoAmI, ইত্যাদি এছাড়াও, আউটপুট তুলনা ls -li /usr/bin/whoamiবনাম ls -li /usr/bin/WHOAMI, এবং মনে রাখবেন inode নম্বর (আউটপুটে তালিকাভুক্ত প্রথম জিনিস) একই - তারা সঠিক একই ফাইল উল্লেখ এর দুটি ভিন্ন উপায়ে করছি ।
গর্ডন ডেভিসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.