set -x
শেল ব্যবহার করুন ।
$ alias hello='echo hello world!'
$ hello
hello world!
$ set -x
$ hello
+ echo hello world!
hello world!
ব্যবহার set -x
সক্রিয় xtrace
শেল বিকল্প ( set +x
এটা বন্ধ হয়ে) এবং কাজ করা উচিত সব বোর্ন মত শাঁস, মত bash
, dash
ksh93
, pdksh
এবং zsh
। এটি শেলটি কমান্ডটি প্রদর্শন করতে অনুরোধ করে যা উফের প্রসার এবং পরিবর্তনশীল প্রসারণ ইত্যাদির পরে সম্পাদিত হয়।
আউটপুটটি শেলের স্ট্যান্ডার্ড ত্রুটি প্রবাহে থাকবে (সাধারণ প্রম্পটের মতো) সুতরাং এটি স্ট্যান্ডার্ড আউটপুটটির পুনর্নির্দেশগুলিতে হস্তক্ষেপ করবে না এবং PS4
শেল ভেরিয়েবল ( +␣
ডিফল্টরূপে) দ্বারা নির্ধারিত একটি প্রম্পট দ্বারা এটির আগে হবে ।
কয়েকটি ফাংশন সহ উদাহরণ:
$ world () { echo "world"; }
$ hello () { echo "hello"; }
$ helloworld () { printf '%s %s!\n' "$(hello)" "$(world)"; }
$ helloworld
hello world!
$ set -x
$ helloworld
+ helloworld
++ hello
++ echo hello
++ world
++ echo world
+ printf '%s %s!\n' hello world
hello world!
আমি set -x
ডিফল্টরূপে আমার সমস্ত ইন্টারেক্টিভ শেল নিয়ে চলছে । আসলে কী কার্যকর হয়েছিল তা দেখে ভাল লাগল ... তবে আমি লক্ষ্য করেছি যে প্রোগ্রামেবল ট্যাব সমাপ্তি ইত্যাদি কিছু শেলের মধ্যে অযাচিত ট্রেস আউটপুট তৈরি করতে পারে।
$@
আপনার ওরফে অংশ? মনে রাখবেন যে উপাধিগুলি সত্যই যুক্তি সমর্থন করে না, এটি প্রাসাদের অবস্থানগত পরামিতিগুলিতে প্রসারিত হবে (যদি থাকে তবে) যে নামটি ডাকবে। দৌড়ানোর স্বাভাবিকsomealias some args
উপায়টি কেবলমাত্র ওরফে প্রসারিত করে এবং এটি অনুসরণ করার জন্য যুক্তিগুলি রেখে কাজ করে। আপনি যদি সত্যিই আর্গুমেন্টগুলি অ্যাক্সেস করতে সক্ষম হতে চান তবে একটি ফাংশন ব্যবহার করুন এবং উদ্ধৃত করুন"$@"