বাশকে মূল হিসাবে চালিত না করার কোনও কারণ আছে কি?


0

আমি কেবল লক্ষ্য করেছি যে ওএস এক্স 10.6.4 এ মূলের শেলটি সেট করা আছে /bin/sh। কোনও সুরক্ষা সমস্যা বা বাশ চালানোর সাথে কিছু আছে?

উত্তর:


2

আমি বিশ্বাস করি যে ইউনিক্সের সামঞ্জস্যের কারণে, ডিফল্ট রুট শেলটি / বিন / শ হয়।

Http://en.wikedia.org/wiki/Bourne_shell দেখুন

এক পর্যায়ে, / বিন / শ একটি জেডশ শেল ছিল, আমি বিশ্বাস করি। অ্যাপল এটিকে ব্যাশে পরিবর্তন করেছে কারণ zsh পসিক্স অনুগত বা সামসুচ ছিল না।

সম্পাদনা করুন:

Makefile নামক sourcecode , দেখাচ্ছে যে / বিন / SH ব্যাশ উৎস থেকে নির্মিত।

সম্পাদনা # 2:

বিরক্ত হয়ে আমি চেক করলাম। দেখে মনে হচ্ছে ম্যাক ওএস এক্স 10.1.5 হ'ল / বিন / শের জন্য zsh ব্যবহার করার সর্বশেষ সংস্করণ । এটি 10.2 এ বাশতে পরিবর্তন করা হয়েছিল ।


5

উবুন্টু sh এর পরিবর্তে গতির জন্য ডিফল্ট সিস্টেম শেল হিসাবে ড্যাশ ব্যবহার করে। আমার ধারণা যদি এটি সত্যিই sh হয় তবে এটি সম্ভবত একই কারণ।

ডিফল্ট সিস্টেম শেল হিসাবে বাশ কেন সত্যই সেরা পছন্দ নয় তা এখানে বেশ কয়েকটি কারণ রয়েছে: https://wiki.ubuntu.com/DashAsBinSh


1
বাশে অগণিত বৈশিষ্ট্যগুলির সেগুলি আরম্ভ করার জন্য সুবিধা এবং তাদের সমর্থন করার জন্য কোডের প্রয়োজন। উবুন্টু লুসিড এক্স ৮86-তে বাশ এবং ড্যাশ উভয়ই গতিযুক্তভাবে সংযুক্ত, ইএলএফ বাইনারিগুলি ছিনিয়ে নিয়েছে, তবে ৮০০ কেবি-তে ব্যাশ ড্যাশের আকারের দশগুণ।
এমএসডব্লিউ

3

/ বিন / শ বাশ নয়?

/ বিনে একটি 'ls -lisa' করুন। তারপরে ডিরেক্টরিতে একটি './sh -version' করুন এবং sh নিজেকে GNU বাশ হিসাবে চিহ্নিত করবে।


অনুসারে stat -f "%N: %i" /bin/sh /bin/bash, তারা একে অপরের হার্ডলিঙ্ক নয় এবং দুটি ফাইলের একটি এমডি 5সাম বিভিন্ন চেকসাম তৈরি করে। এমনকি যদি /bin/shএটির জন্য একটি সিমিলিংক বা হার্ডলিঙ্ক ছিল /bin/bash, বাশ নামটির অধীনে চালিত নামটি পরীক্ষা করে এবং নামটি থাকলে একটি সামঞ্জস্যতা মোড সক্রিয় করে sh
চস ওয়েন্স

@Chas। অ্যান্ড্রু সঠিক, তারা একই। প্রুফ: opensource.apple.com/source/bash/bash-80/Makefile
ghoppe

@ গোপ্পে বিভিন্ন এমডি 5sums ব্যাখ্যা করুন। এবং সত্য যে চলমান set -o viঅধীন চলাকালীন ট্যাব সমাপ্তি বন্ধ করে দেয় sh, তবে তা নয় bash। বলার shবিষয়টি bashএড়িয়ে যায় যে তারা অন্যরকম আচরণ করে যা এই প্রশ্নের মূল বিষয়। ওএস এক্স কেন ব্যবহার করছে shএবং এটির ব্যবহারটি পরিবর্তন করা কি নিরাপদ bash। আমি সন্দেহ করি না যে তারা উভয়ই একই উত্স থেকে নির্মিত, তবে তারা একই নয়।
চস ওয়েন্স

@ আপনি যদি আমার সংযুক্ত সোর্সকোডটি পরীক্ষা করেন তবে আপনি দেখতে পাবেন যে বিন / শ দিয়ে তৈরি করা হয়েছে $(Extra_Configure_Flags) --enable-strict-posix-defaultআমি যথেষ্ট নিশ্চিত তাই এমডি 5 চেকসামগুলি আলাদা এবং তারা কিছুটা আলাদা আচরণ প্রদর্শন করে ex আমি কেন ইউনিক্স গীকেরset - o vi মতো আচরণ করি তা জানতে যথেষ্ট নই , তবে আমি পসিএক্স
ghoppe

0

রুটের লগইন / ইন্টারেক্টিভ শেল সেট /bin/bashকরা শেল স্ক্রিপ্টগুলিতে #!/bin/shতার শেবাং লাইন হিসাবে কোনও প্রভাব ফেলবে না । এই স্ক্রিপ্টগুলির জন্য যে কোনও ফাইল যেহেতু /bin/shএটি একক এক্সিকিউটেবল বা সিমলিংক বা হার্ড লিঙ্কটি সেই স্ক্রিপ্টটির ব্যাখ্যার জন্য ব্যবহৃত হবে be অনুরূপভাবে স্ক্রিপ্টের জন্য এই পদ্ধতিতে কমান্ড লাইন থেকে চালানো: sh script

রুট ব্যবহারকারীর ইন্টারেক্টিভ শেলটিকে / বিন / ব্যাশে সেট করা পুরোপুরি ঠিক।

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