পাওয়ারশেলের আক্ষরিক পালানোর চরিত্রটি কী?


51

পাওয়ারশেলের কোনও উদ্ধৃত স্ট্রিংয়ের অভ্যন্তরে আক্ষরিক উদ্ধৃতি চরিত্রটি অন্তর্ভুক্ত করার সময়, উদ্ধৃতি চরিত্রটি স্ট্রিং ডিলিমিটারের পরিবর্তে আক্ষরিক কিনা তা বোঝাতে আমি কীভাবে পালাব?

উত্তর:


75

থেকে help about_quoting_rules

একটি স্ট্রিংয়ে ডাবল-কোটেশন চিহ্ন উপস্থিত হতে, পুরো স্ট্রিংটি একক উদ্ধৃতি চিহ্নগুলিতে আবদ্ধ করুন। উদাহরণ স্বরূপ:

'As they say, "live and learn."'

এই কমান্ড থেকে আউটপুট হয়:

As they say, "live and learn."

আপনি একটি একক-উদ্ধৃত স্ট্রিংটিকে ডাবল-কোটেড স্ট্রিংয়েও ঘিরে রাখতে পারেন। উদাহরণ স্বরূপ:

"As they say, 'live and learn.'"

এই কমান্ড থেকে আউটপুট হয়:

As they say, 'live and learn.'

উইন্ডোজ পাওয়ারশেলকে ডাবল উদ্ধৃতি চিহ্নকে আক্ষরিক অর্থে ব্যাখ্যা করতে বাধ্য করতে, ব্যাকটিক অক্ষর ব্যবহার করুন। এটি উইন্ডোজ পাওয়ারশেলকে স্ট্রিং ডিলিমিটার হিসাবে উদ্ধৃতি চিহ্নটি ব্যাখ্যা করতে বাধা দেয়। উদাহরণ স্বরূপ:

"Use a quotation mark (`") to begin a string."

এই কমান্ড থেকে আউটপুট হয়:

Use a quotation mark (") to begin a string.

যেহেতু একক-উদ্ধৃত স্ট্রিংয়ের বিষয়বস্তু আক্ষরিক অর্থে ব্যাখ্যা করা হয়েছে, আপনি ব্যাকটিক অক্ষরটি একক-উদ্ধৃত স্ট্রিংয়ে আক্ষরিক চরিত্রের ব্যাখ্যা জোর করতে ব্যবহার করতে পারবেন না।

একক উদ্ধৃত স্ট্রিংগুলিতে অন্যান্য উদ্ধৃতি চিহ্নগুলি এড়াতে ব্যাকটিক চরিত্রের ব্যবহার পাওয়ারশেলের সাম্প্রতিক সংস্করণগুলিতে সমর্থিত নয়। পাওয়ারশেলের আগের সংস্করণগুলিতে ব্যাকটিক এস্কেপ অক্ষরটি একটি একক উদ্ধৃত স্ট্রিংয়ের মধ্যে ডাবল উদ্ধৃতি চিহ্নের অক্ষরটি থেকে বাঁচতে ব্যবহৃত হত যেমন help about_quotingপাওয়ারশেলের সেই সংস্করণগুলিতে উপলব্ধ।


2
কেবল একটি নোট, তবে এটি প্রদর্শিত হবে যেন আপনি একক-উদ্ধৃতি থেকে বাঁচতে পারবেন না আপনার শেষ উদাহরণটি বৈধ নয়। আপনার পোস্টের পরে থেকে কিছু পরিবর্তন হয়েছে, কারণ আমি সেই about_quotingসহায়তাও পাই না । পাওয়ারশেল চালানো v5.1। ডাবল-কোটগুলি থেকে বেরিয়ে আসা, বা বিভিন্ন ধরণের উদ্ধৃতি বাসা বাঁধানো এখনও প্রত্যাশার মতো কাজ করে।
কাল জেকডোর

1
আকর্ষণীয় - এটি প্রদর্শিত হবে যে একক উদ্ধৃতি থেকে পালানোর জন্য সমর্থন একটি বাগ ছিল। সম্পর্কে_কোটিটিং সহায়তা ফাইলটি প্রায়_কোটিং_রুলস দ্বারা প্রতিস্থাপিত হয়েছে এবং এটি পরিষ্কারভাবে বলেছে যে আপনি পাওয়ারশেল ভি 5-তে একক উদ্ধৃতি থেকে বাঁচতে ব্যাকটিক ব্যবহার করতে পারবেন না কারণ একক উদ্ধৃত স্ট্রিংগুলি আক্ষরিক হয়। ভাল ক্যাচ, এটি ভি 3-তে আলাদা ছিল।
হেলভিক

1
নোট করুন যে একক উদ্ধৃতিগুলি এসকিউএল হিসাবে একক-উদ্ধৃত স্ট্রিংগুলিতে দ্বিগুণ করে পালিয়ে যায়। সুতরাং 'As they say, ''live and learn.'''আউটপুট As they say, 'live and learn.', আপনার দ্বিতীয় উদাহরণ হিসাবে একই।
ব্রায়ানারি

13

পাওয়ারশেলের পালাবার চরিত্রটি হ'ল "(" (পশ্চাদপদ অ্যাডোস্ট্রোফ / কবর)।

এটি উদ্ধৃতি এবং বিশেষ অক্ষরগুলি এড়াতে ব্যবহার করা যেতে পারে (উদাহরণস্বরূপ, ট্যাবটি `t)।


2
এটি সম্ভবত bashব্যবহারকারীকে উন্মাদ করে দেবে। ( cmd.exeপালানোর চরিত্রটি হ'ল ^)
গুরুতরতা

2
ঠিক আছে, আপনি যদি স্কুইন্ট করেন তবে এ জাতীয় ধরণটি ব্যাকস্ল্যাশের মতো দেখাচ্ছে।
koenigdmj

10

এখানে ইতিমধ্যে যা সরবরাহ করা হয়েছে তার প্রশংসা করতে, আপনার এও জানা উচিত যে আপনি উদ্ধৃতিটি (একক বা ডাবল) উদ্ধৃতি দিয়েই পালাতে পারবেন। এর অর্থ আপনি এটি করতে পারেন:

"এখানে একটি" ডাবল-উদ্ধৃত স্ট্রিং "" এর উদাহরণ's "

এবং এই:

'এবার এটি' এর '' একক-উদ্ধৃত ''।

এই সিনট্যাক্সটি যে সুবিধাটি দেয় তা সহজ: ব্যাকটিকের সাথে কোনও উদ্ধৃতি এড়ানোর চেয়ে একই কোটটি দ্বিগুণ করা সহজ easier


1

একক 'পাঠ্য' সুতরাং এটি আক্ষরিক পাঠ্য হিসাবে ধরা হয়, তারপরে "\" ব্যবহার করে কোনও বিশেষ অক্ষর থেকে রক্ষা পান

উদাহরণস্বরূপ এই স্ট্রিং: "যেমন তারা বলে," বেঁচে থাকুন এবং শিখুন this "" তারা বলেন, live "লাইভ এবং শিখুন \" "


1
পাওয়ারশেলে নয়, তা হয় না। পিএস সি: I উইন্ডোজ 32 সিস্টেম 32> লিখন-হোস্ট 'যেমন তারা বলে, live "লাইভ এবং শিখুন \" "তারা যেমন বলে, live" লাইভ এবং শিখুন \ "
হ্যাপলেস N00b

1
@ হোপলেস এন ২০০ বি সম্ভবত খুব বেশি কঠোরভাবে বিচার না করুক - আপনি যদি PowerShell.exe -Commandপ্যারামিটারে ডাবল কোট ব্যবহার করে এবং চেষ্টা করার চেষ্টা করেন তবে এটি কাজ করে (যেমন, প্রযুক্তিগতভাবে এটি সিএমডি এড়িয়ে চলেছে, তবে কমান্ড প্যারামিটারে এটি বৈধ)। imgur.com/1btjoQW
jparnell8839
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.