zsh সম্পূর্ণরূপে বাশ সামঞ্জস্যপূর্ণ নয়। বিভিন্ন পার্থক্য আছে। নবতর zsh বাশের সাথে আরও সুসংগত (= ~ সমর্থিত, এক্সিকিউটে এখন অতিরিক্ত পতাকা বিকল্প রয়েছে, ইত্যাদি) তবে সম্পূর্ণ সামঞ্জস্যতা লক্ষ্য নয়, এমনকি "অনুকরণকারী" এর অধীনেও নয়।
উদাহরণস্বরূপ, বাশ সাবস্ট্রিংটি হ'ল। {Foo: অফসেট: লেন} তবে zsh এ এটি $ ফু [শুরু, শেষ] এবং এটি কেবল একটি সহজ উদাহরণ।
zsh একটি tcsh এবং ksh প্রভাবিত শেল যা অনেকগুলি নিজস্ব উপায়ে করে; POSIX সামঞ্জস্যতা সুস্পষ্টভাবে লক্ষ্য নয়, তবে বিকাশকারীরা প্যাচগুলিতে প্রতিক্রিয়াশীল যা বিকল্পগুলি যোগ করে / আচরণকে অনুকরণ করে যা জিনিসগুলি পক্সিকের কাছাকাছি পায়। তবে আপনি যখন সত্যিকার অর্থে শেলের শক্তিতে প্রবেশ করতে শুরু করলে আপনি কেবল লেখার জন্য লিখিত স্ক্রিপ্ট তৈরি করা শুরু করেন, এমনকি বাশের চেয়েও।
বাশ হ'ল পসিক্স শ্ + কেশ + পেনডেন্টিসিজম, বর্তমানে কিছু বৈশিষ্ট্য zsh থেকে অনুলিপি করা হয়েছে। এটিতে কেবল লেখার জন্য স্ক্রিপ্ট রয়েছে তবে এতে কম শক্তিশালী অপারেটর রয়েছে, আপনি zsh এর সংক্ষিপ্ততাটি ব্যবহার করবেন না এবং জিনিসগুলি আরও পঠনযোগ্য হতে পারে (হোয়াইটস্পেস বিভাজন এড়াতে সমস্ত উদ্ধৃতি ব্যতীত, বোকা ksh- স্টাইল $ অ্যারের অর্থ প্রথমে -অ্যারেমেট-অফ-অ্যারে, অ্যারে-এর সমস্ত উপাদান নয়)।
উভয় শেলের শক্তির পুরো সদ্ব্যবহার করে এমন স্ক্রিপ্টগুলি লেখাই বুদ্ধিমানের কাজ নয়, যদি না আপনি কোনও আবদ্ধ পরিবেশে থাকেন (উদাহরণস্বরূপ, সিস্টেম আরসি স্ক্রিপ্টগুলি লেখার ক্ষেত্রে, যেখানে কিছু এফএস মাউন্ট করা যায় না ইত্যাদি)। আদর্শ হিসাবে, পার্ল / পাইথন / রুবি / যে কোনও বড় কিছুর জন্য যা আপনার প্রয়োজন তা বোঝাতে বর্নেতে না ব্যবহার করুন, যদি আপনি চান অন্যরা এটি বজায় রাখতে সক্ষম হন। ইন্টারেক্টিভ শেল (ট্যাব সমাপ্তির প্রোগ্রামিং ইত্যাদি) সম্পর্কিত জিনিসের জন্য শেল স্টাফ রাখুন।
আমি zsh এর উপর ব্যাশ ব্যবহার করব না। আমি সাধারণ স্ক্রিপ্টগুলির জন্য zsh এর ওপরে শ ব্যবহার করব, বা এমন ভাষাতে স্যুইচ করব যেখানে সহকারী অ্যারেগুলিতে শালীন অপারেটর রয়েছে (zsh এর বিপরীতে, যেখানে তারা আবার 'সংক্ষিপ্ত')। আমি পারে যদি আমি যে এক সামান্য বৈশিষ্ট্য একটি বিদ্যমান প্রমাণিত পরিশ্রমী স্ক্রিপ্ট প্রসারিত করতে এবং এখনই এটিকে পুনর্লিখন সময় নেই প্রয়োজন ব্যাশ করার জন্য একটি SH স্ক্রিপ্ট স্যুইচ করুন।