ব্যাশ ভেরিয়েবল প্রসারণে ":" (কোলন) অপারেটর কী করবে: VAR = $ EM TEMP: 3}?


12

একটি পরিবর্তনশীল ইন নিম্নলিখিত লাইনের অর্থ কি bash?

VAR=${TEMP:3}

1
@ চাওস দয়া করে আপনার উত্তরটির সাথে আরও ভাল মেলে প্রশ্নটি সম্পাদনা করবেন না ;-)।
— পাইলট

@ পাইলট 6 আমি অর্থ পরিবর্তন করি নি। নাকি আমি কিছু ভুল বুঝতে পারি? আমি এটি (শিরোনাম) এবং আরও পাঠযোগ্য : find আমি এটি থেকে পৃথক হতে চেয়েছিলাম, কারণ প্রশ্নটি স্পষ্টতই এটি সম্পর্কে নয়। ব্যবহারকারীর অর্থ কী :একটি চলক নামের অপারেটর। আমি দুঃখিত, আমি কাউকে বিরক্ত করতে চাই না, তবে আপনার রোলব্যাকটি কোনও অর্থ দেয় না এবং এটি বিপরীত হওয়া উচিত, তবে আমি এখানে সম্পাদনা-যুদ্ধ চাই না want তবুও এটি বাশ এবং স্ক্রিপ্টিং নির্দিষ্ট রয়েছে তাই কেন এই ট্যাগগুলিকে সরিয়ে দেবেন?
— বিশৃঙ্খলা

আপনি অন্য মুছে ফেলা TEMPএবং VARপরিবর্তনশীল এবং প্রশ্নটি অন্য উত্তরগুলির অর্থ হারিয়েছে এমনভাবে পরিবর্তন করেছেন।
— পাইলট

@ পাইলট my আমার উত্তরে আমি কোনও VARচলক উল্লেখ করি না । তবে যাইহোক, আপনি সেই জিনিসটি ফিরে পেতে স্বাধীন free আমি প্রশ্নটি আরও সাধারণ, কম নির্দিষ্ট করে তুলতে চাইছিলাম। এটি অন্য উত্তরগুলিকে নাশকতা করার উদ্দেশ্যে কখনও হয়নি।
— বিশৃঙ্খলা

2
@ স্নেকডোক না, এটি অন টপিক ঠিক আছে
— মারু

উত্তর:


15

এই পরিবর্তনশীল সম্প্রসারণ এবং এই মত কাজ করে (এই বিজ্ঞপ্তি শুধুমাত্র bashএবং kshনির্দিষ্ট এবং হবে POSIX শেল কাজ না):

$ x=1234567890
$ echo ${x:3}
4567890
$ echo ${x:7}
890
$ echo ${x:3:5}
45678

  • ${var:pos}এর অর্থ হল ভেরিয়েবলটি varঅফসেট থেকে শুরু করে প্রসারিত হয় pos।
  • ${var:pos:len}দৈর্ঘ্যের varঅফসেট থেকে শুরু করে ভেরিয়েবলটি প্রসারিত হয় ।poslen

মধ্যে Woks zshখুব
— কস

2
@ কোস এটি উল্লেখ করার মতো নয়, কারণ সবকিছুই কাজ করে zsh=) আমি একটি ডায়েট স্ক্রিপ্ট তৈরি করেছি zshএবং 1 সপ্তাহে 10 কেজি হারিয়েছি।
— বিশৃঙ্খলা

zshআপনি যখন এটি ব্যবহার করছেন না তখন অবশ্যই আপনাকে টাইপিং পথে মোটা করে তোলে :)
— কোস

1
@ কোস হহে, এটি কিছুটা জ্যাকুরির
— বিশৃঙ্খলা

1
হা, আমি ভালবাসি কীভাবে একমাত্র উত্তরটির সত্য উত্তর দেওয়ার চেষ্টা করার সাথে "-২ যথেষ্ট পরিমাণে জিকুয়ারি নয়"! :)
— কোস


2

এই অপারেটর ভেরিয়েবলের প্রথম 3 টি অক্ষর কেটে দেয় TEMPএবং বাকীটিকে ভেরিয়েবলের জন্য বরাদ্দ করে VAR।

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