নতুন বিকাশের জন্য ব্যবহার বা শেখানোর কোনও কারণ `…? প্রতিস্থাপন?


16

এটি আমার বোঝা যায় যে সহজ এবং কম ত্রুটি-ঝুঁকির নীড় বাঁধা এবং সিনট্যাক্স থেকে বেরিয়ে আসার কারণে আরও আধুনিক $(...)কমান্ড সাবস্টিটিউশন সিনট্যাক্সটি পুরানো `ভিত্তিক সিনট্যাক্সের চেয়ে বেশি পছন্দ করা হয় ।

আরও মনে হচ্ছে, /bin/shআধুনিক ব্যবহারের বেশিরভাগ স্টাইল শেল সমর্থন করে $(…):

  • সজোরে আঘাত
  • ছাই (এবং তাই ব্যাসিবক্স, তাই সর্বাধিক এম্বেডেড লিনাক্স)
  • হানাহানি
  • ফ্রিবিএসডি / বিন / এসএইচ

এবং $(…)আইইইই 1003.1 দ্বারা নির্দিষ্ট করা হয়েছে।

সুতরাং আমার কাছে 2 টি সম্পর্কিত সম্পর্কিত প্রশ্ন রয়েছে:

  • শেল স্ক্রিপ্টগুলির নতুন বিকাশে ব্যবহার করার কোনও কারণ আছে কি না যদি আপনি কোনও নির্দিষ্ট পুরানো সিস্টেমটি না জেনে থাকেন যা স্ক্রিপ্টটি চালু হওয়া দরকার?
  • ইউএনআইএক্স প্রোগ্রামিং শিক্ষার্থীদের কেবল লেখার জন্য না শেখানোর $(...)এবং `কেবলমাত্র একটি অপ্রচলিত রূপ হিসাবে আলোচনা করার কোনও কারণ আছে যা তারা অন্য বিকাশকারীদের শেল স্ক্রিপ্টগুলি পড়তে থাকলে সম্ভবত তাদের মুখোমুখি হবে (এবং যদি তারা সত্যিকারের পুরানো সিস্টেম বা নন স্ট্যান্ডার্ডের সাথে কাজ করে থাকে তবে প্রয়োজন হতে পারে) কিছু কারণে)?

7
না, ব্যবহার বা শেখানোর কোনও মানে নেই `...`। এটা শুধুমাত্র বোর্ন শেল সঙ্গে অনগ্রসর বহনযোগ্যতা জন্য আছে (বোর্ন শেল মত ছিল ^(একই হিসাবে |) থমসন শেল সঙ্গে অনগ্রসর বহনযোগ্যতা জন্য)। তবে মনে রাখবেন যে (t)cshএটি নেই $(...)(তবে সেগুলি ব্যবহার করে বা শেখানোর মতো কোনও বিষয় নেই)।
স্টাফেন চেজেলাস

2
এটি একটি গ্রোচো মার্ক্সের জিনিস `; {)
21:08

2
অপেক্ষা করুন, ব্যাকটিকগুলি অবহেলা করা হয়েছে ?? কারও কাছে কেন একটি প্রমিত রেফারেন্স আছে তা ব্যাখ্যা করছে? (অদ্ভুত বাক্য অক্ষরগুলি অনুসন্ধান করা খুব কঠিন))
গাণিতিক

1
টাইপ করা সহজ। ; `- 2 কী টিপুন; $()- শিফট + 4,9, শিফট + 0 - 5 কী টিপুন;
vi।

3
@MathematicalOrchid stackoverflow.com/questions/9405478/... প্রশংসনীয় ভাল বলে মনে হয়। ব্যাকটিক্স সঠিকভাবে বাসা বাঁধার জন্য খুব কঠিন, বিশেষত যখন অতিরিক্ত উদ্ধৃতি জড়িত থাকে।
মাইকেল একস্ট্রান্ড

উত্তর:


19

যেহেতু ব্যাক-টিকগুলি প্রায়শই ব্যবহার করা হয়, তাই এই সিনট্যাকটিক কনস্ট্রাক্টটি শেখানো বুদ্ধিমান।

অবশ্যই, $()স্টাইল কমান্ড প্রতিস্থাপনকে ডিফল্ট শৈলী (এবং স্ট্যান্ডার্ড কনফর্মিং কনস্ট্রাক্ট) হিসাবে জোর দেওয়া উচিত।

ব্যাক-টিকগুলি এখনও জনপ্রিয় কেন? কারণ এগুলি টাইপ করার ক্ষেত্রে একটি চরিত্র সংরক্ষণ করে এবং এগুলি চোখে যুক্তিযুক্তভাবে কম ভারী হয়।


18
আমি "চোখে কম ভারী" বৈশিষ্ট্য হিসাবে চিহ্নিত করব না, তবে একটি বাগ ...
জেসনওয়ারিয়ান

1
সাধারণত আমি সাধারণ ক্ষেত্রে ব্যাকস্টিক এবং জটিল ক্ষেত্রে $ () ব্যবহার করি। তবে এখন পর্যন্ত খুব স্ক্রিপ্টগুলি ব্যাকস্টিকগুলি ব্যবহার করছে এবং গ্রেডগুলি তাদের সাথে স্কোপ করতে সক্ষম হবে।
পিটারহ - মনিকা

@ জেসনওয়ারিয়ান এই ক্ষেত্রে বাগটি সংক্ষিপ্ততার কারণে নয়, বরং স্বেচ্ছাসেবী বিষয়গুলির কারণে। অর্থাত, ব্যাকটিক ব্যবহার হয় চোখের উপর সহজ, কিন্তু যে নয় কেন এটা অবমূল্যায়ন ঘটেছে। যদি না আপনি চিনিটিকে সংজ্ঞায়িত হিসাবে খারাপ বলে চেষ্টা করছেন এবং আমাদের সকলকেই যাই হোক না কেন তার জন্য পছন্দ করা উচিত ... আসলে আমি $()আরও ভাল চেহারা পছন্দ করি তবে ব্যাকটিকগুলি আরও সহজ এবং আরও KISS; সাধারণ প্রোগ্রামিংয়ের পেভলোভিয়ান ওসিডিএস পরিণতি হতে পারে।
স্বর্ণিলোক

@ গোল্ডলোকস একবার আপনার বয়স বাড়ার পরেও পঠনযোগ্যতা এত বেশি শক্ত: আমার বয়সে ব্যাকটিকগুলি কার্যত কোডের মধ্যে অদৃশ্য ...
জেসনওয়্যারিয়ান

3
উদাহরণস্বরূপ একটি ফরাসি কীবোর্ড অন, `যখন Altrg + E, (টাইপ বিশ্রী) হল $, (, )কোনো পরিবর্তক প্রয়োজন হবে না।
স্টাফেন চ্যাজেলাস

5

আমি এগুলি প্রোগ্রামিংয়ের জন্য ব্যবহার করব না, এবং শেল স্ক্রিপ্টগুলিতে ব্যাকটিক প্রতিস্থাপনের ব্যবহারটি অচল হয়ে যাওয়ার কারণ হিসাবে শেখাচ্ছি (এটি theকমত্য বলে মনে হয়)। তবে আমি মনে করি না যে এগুলি অন্তর্নিহিতভাবে মন্দ and এবং (লিনাক্স কমান্ড লাইনে আপনার গড় টিউটোরিয়াল দ্বারা অন্তত বিচার করা) তারা এখনও প্রায়শই সরল স্নিপকেট / ওয়ান-লাইনারে ব্যবহার করা হয় যেখানে তারা সম্ভবত বাসা বাঁধে না এবং আপনি যা জিনিস 'শুধু একবার করতে যাচ্ছি।

কমান্ড প্রতিস্থাপন দেখুন : ব্যাকটিক্স বা ডলার সাইন / পেরেন সংযুক্ত?


1

আমি নির্মাণটি এড়িয়ে চলছি $()কারণ এটি পোর্টেবল নয় - আসল বিশ্বে। আপনি চারটি শাঁস তালিকাভুক্ত করেছেন - এর চেয়ে অনেক বেশি তারতম্য রয়েছে (প্রস্থের ক্রম?) সোলারিস / বিন / শিতে আপনার স্ক্রিপ্টটি চালানোর চেষ্টা করুন এবং দেখুন কীভাবে যান।

অন্যদিকে, আপনি কখন পুরানো সিস্টেমগুলি সমর্থন করা বন্ধ করবেন? আপনি কি নতুন কিছু করার উপায়ে অগ্রসর হতে পারবেন না? আমি মনে করি আপনার নিজের রায়কে বিশ্বাস করা উচিত, এবং যদি আপনি পুরানোের চেয়ে নতুন উপায়ে একটি সুনির্দিষ্ট সুবিধা দেখতে পান তবে এটির জন্য যান ... এটি তাদের মধ্যে একটি নয় (ব্যক্তিগতভাবে আমি বাইটিকগুলি আরও পরিষ্কার দেখি - তারা হতে পারে না) শেল ভেরিয়েবল সাবস্টিটিউশন নিয়ে বিভ্রান্ত, যা আলাদা জিনিস)


1
POSIX নির্দিষ্ট করে না যা /bin/shঅবশ্যই মেনে চলতে হবে। সোলারিস /bin/shপ্রকৃতপক্ষে খুব অ-সঙ্গতিপূর্ণ - যদিও সোলারিস 9/10 / ... সরকারীভাবে পসিক্স অনুগত। $()মাত্র এক কনস্ট্রাক্ট এটা বুঝতে না। তবে আরও অনেকগুলি এটি বোঝে না বা আলাদাভাবে ব্যাখ্যা করা হয়। এর দ্বারা shফিরে আসা পথে এটি অনুসন্ধান করার জন্য উপযুক্ত একটি পোর্টেবল উপায় getconf PATH
ম্যাক্সচলেপজিগ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.