বাশ-এ উদ্ধৃতিগুলির ভিতরে ডলার সাইন ইন্টারপোলেশন


9

আমি লিখেছিলাম এই ছোট পরীক্ষা স্ক্রিপ্ট চালাচ্ছি:

#!/bin/bash

TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest

কমান্ড লাইন থেকে:

./test.sh "1092$212"

কিন্তু ডলারের সাইনটি ছিনিয়ে নেওয়া হচ্ছে। আমি যদি এটি থেকে পালাতে পারি তবে এটি কাজ করে। তবে আমি ভেবেছিলাম ডাবল উক্তিগুলি এটি করার প্রয়োজন থেকে আমাকে রক্ষা করবে। কেউ কি দয়া করে আমাকে বুঝতে সাহায্য করতে পারেন যে কী চলছে এবং কীভাবে এটি ঠিক করবেন?


সমস্যাটি হ'ল এটি অস্পষ্ট - এমনকি একজন মানুষ হিসাবে আমার জন্য - আপনি এখানে কী চান তাই কম্পিউটারের কোনও সুযোগ নেই। সম্ভবত বাশ দোভাষী $ 212 পাওয়ার চেষ্টা করছেন। অস্তিত্ব নেই এমন কোনও চলকটি প্রসারিত করার চেষ্টা করলে নীরবে ব্যস ব্যর্থ হয়, এভাবে $ ছিটকে যায়। আপনার ভেরিয়েবলগুলি বন্ধনীগুলির মধ্যে মোড়ানো বিবেচনা করুন, যেমন "1092 {{2} 12"
ব্রায়ান পিটারসন

উত্তর:


18

ভেরিয়েবলগুলি এখনও ডাবল উদ্ধৃতিগুলির মধ্যে প্রসারিত। আপনি যদি এই আচরণটি এড়াতে চান তবে পরিবর্তে আপনার একক উদ্ধৃতি ব্যবহার করা উচিত।


ধন্যবাদ. এইটা কাজ করে. এরজন্য কি কোন কারণ আছে?
আমির আফগানি

8
হ্যাঁ. এটি সেভাবে ডিজাইন করা হয়েছিল! উদ্ধৃত স্ট্রিংয়ের ভিতরে ভেরিয়েবলগুলি প্রসারিত করতে সক্ষম হওয়াই এটি বেশ কার্যকর। এটি একটি বৈশিষ্ট্য। আপনি যদি আচরণটি না চান তবে একক উদ্ধৃতি ব্যবহার করুন, এটি তাদের জন্য ডিজাইন করা হয়েছিল।
কালেব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.