আমি আমার মন্তব্যে যেমন লিখেছি, শেল প্রম্পটে (বা শেল স্ক্রিপ্টগুলিতে) কাজ করার সময় কিছু বিশেষ অক্ষরের অতিরিক্ত যত্ন নেওয়া দরকার। এর মধ্যে একটি হ'ল $সাইন, যা সাধারণত একটি চলককে নির্দেশ করে। যদি এটি আক্ষরিকভাবে নেওয়া উচিত, আপনার এড়াতে হবে (বা একক উদ্ধৃতি দ্বারা পুরো স্ট্রিংটি আবদ্ধ)। উদ্ধৃতি চিহ্নের জন্য অনুরূপ নিয়ম।
আপনার কমান্ডটি কীভাবে একজন পালানো লোকের সাথে দেখতে হবে $, আপনি ইতিমধ্যে ওয়ানরেথার উত্তরটি খুঁজে পেতে পারেন :
shell@android:/ # am start -n com.android.settings/.Settings\$PowerUsageSummaryActivity
এর সামনে "ব্যাক-স্ল্যাশ" নোট করুন $- এটি পালানোর চিহ্ন sign উদ্ধৃতি চিহ্ন বা ফাঁকা জন্য একই ব্যবহার করুন, যদি আপনার আদেশে কিছুটা আক্ষরিকভাবে নেওয়া হয়, যেমন eg
myscript.sh first\ parameter\!
myscript.sh "first parameter!"
উভয়ই একই কাজ করবে: স্ট্রিংটিকে একটি প্যারামিটার তৈরি করা। আপনার am startআদেশের উদাহরণে , পার্সিংয়ের ক্ষেত্রে এটি ঘটেছিল:
- কমান্ড প্রয়োগ করুন:
am
- প্যারামিটার 1:
start
- প্যারামিটার 2:
-S
- প্যারামিটার 3:
com.android.settings/.Settings$PowerUsageSummaryActivity
- একটি আছে
$, ব্যাখ্যা করছে: ভেরিয়েবল $PowerUsageSummaryActivityসেট করা নেই, তাই খালি
- উপসংহার: 3 পরামিতি হয়
com.android.settings/.Settings
আরও লক্ষ করুন যে আপনি যদি এটির মাধ্যমে সরাসরি চালনা করেন adb shellতবে কমান্ডটি দু'বার শেল পার্সিংয়ের মধ্য দিয়ে যায়, সুতরাং আপনাকে কমান্ডটি পুনরায় বা উদ্ধৃতি দেওয়া দরকার , যেমন:
user@desktop:~$ adb shell am start -n 'com.android.settings/.Settings\$PowerUsageSummaryActivity'
'com.android.settings/.Settings$PowerUsageSummaryActivity'- বা এর$মতো পালিয়ে যেতেcom.android.settings/.Settings\$PowerUsageSummaryActivity- যা শাবলটিতে কোনও চলক নির্দেশিত না করে যখন আক্ষরিক$লক্ষণগুলির সাথে ডিল করার সময় স্বাভাবিক জিনিস হয় ?