উদাহরণস্বরূপ, $PATH
এবং$HOME
আমি যখন টাইপ echo $PATH
করি তখন এটি আমার ফেরত দেয় $PATH
তবে আমি শব্দটি প্রতিধ্বনিত করতে চাই $PATH
এবং প্রকৃত ভেরিয়েবলটি কী echo "$PATH"
কাজ করে তা নয়।
উদাহরণস্বরূপ, $PATH
এবং$HOME
আমি যখন টাইপ echo $PATH
করি তখন এটি আমার ফেরত দেয় $PATH
তবে আমি শব্দটি প্রতিধ্বনিত করতে চাই $PATH
এবং প্রকৃত ভেরিয়েবলটি কী echo "$PATH"
কাজ করে তা নয়।
উত্তর:
আপনার শুধু ডলার পালাতে হবে $
।
echo \$PATH
$PATH
বা একক উদ্ধৃতিতে এটি ঘিরে:
echo '$PATH'
$PATH
এটি শেল দ্বারা শব্দটি ব্যাখ্যা না করা নিশ্চিত করবে।
echo -e
ম্যান পৃষ্ঠায় এটি কিছুই বলেনি ।
-e
পতাকা প্রসারিত করতে, যেমন, ব্যবহার করা হয় \t
একটি আক্ষরিক ট্যাব অক্ষরে। এটি প্যারামিটারের প্রসারণ রোধ করতে ডলার চিহ্ন থেকে পালানোর সাথে সম্পর্কিত নয়।
echo '\$PATH' >> output.txt
"/ ইউএসআর / স্থানীয় / বিন: / ইউএসআর / এসবিন: / ইউএসআর / বিন: / এসবিন: / বিন: / ইউএসআর / গেমস: / ইউএসআর / স্থানীয় / গেমস: / অপ্ট / ভিসি / বিন" ফাইলটিতে লিখিত থাকার ফলাফল , "AT পথ" নয়।
echo '\044*' > first.txt
এটা করবে first.txt আউটপুট $ *
$
বেশিরভাগ শাঁসের সিনট্যাক্সে খুব বিশেষ একটি চরিত্র। যদি আমরা কেবল বোর্নের মতো শেলগুলি দেখি তবে এটি পরিচয় করানোর জন্য ব্যবহৃত হয়:
$#
, $var
,${foo:-bar}
$(logname)
( ${ logname;}
কিছু শেল মধ্যে সাবসেল এড়ানোর জন্য)$((1+1))
( $[1+1]
কিছু শেলের মধ্যেও )।$'\n'
বা হিসাবে উদ্ধৃতি অন্যান্য ফর্ম $"localized string"
।গত কেস ছাড়া, যারা প্রসারণও / বদল এখনও উদ্ধৃতি চিহ্ন ভিতরে ঘটতে (এবং ভিতরে $"..."
মধ্যে bash
বা ksh93
)
এটিকে $
বিশেষভাবে চিকিত্সা করা থেকে বিরত রাখতে আপনার সাথে এটির সাথে উদ্ধৃতি দিতে হবে:
echo '$PATH'
বা echo '$'PATH
। আপনি সাধারণত যেটিকে ব্যবহার করতে চান এটি বেশিরভাগ শেলের মধ্যে সমস্ত অক্ষর (নিজে ছাড়া) এড়িয়ে যায়।echo \$PATH
। ডাবল উক্তিগুলির ভিতরেও:echo "\$PATH"
echo $'$PATH'
, echo $'\44PATH'
(একটি হওয়া ASCII সামঞ্জস্যপূর্ণ অক্ষরসেট অভিমানী),echo $'\u0024'
বা নিশ্চিত করুন যে এটি উপরে তালিকাভুক্ত হিসাবে কোনও বৈধ ফর্মের অংশ নয়:
echo "$"PATH
echo $""PATH
,echo $"PATH"
ksh93
এবং bash
সমর্থন করে $"..."
।echo $``PATH
। আপনি কেন এটি সম্ভব তা দেখাতে ব্যতীত আপনি কেন এটি ব্যবহার করতে চান তার কোনও কারণ নেই।echo "${$+$}PATH"
এবং অন্যান্য সংশ্লেষিত ...অথবা আপনি যে $
অন্যভাবে আউটপুট করতে পারেন :
echo
: echo '\044PATH'
(কিছু অন্যান্য echo
প্রয়োজন echo -e '\044PATH'
)printf '\44PATH\n'
বিড়াল << \ ইওএফ $ PATH- ফাইলের শেষে
লক্ষ্য করুন যে কীভাবে এই ব্যাকস্ল্যাশগুলি উদ্ধৃত করা দরকার কারণ এগুলিও স্পষ্টতই শেলের জন্য বিশেষ।
আশা এখন, কোন ভাল কারণ আপনি অন্য কিন্তু কিছু ব্যবহার করতে চান সেটি আছে যদিও এটা করতে অনেক উপায় আছে যে স্পষ্ট হওয়া উচিত echo '$PATH'
এখানে।
নোট করুন যে আক্ষরিক double ডাবল উদ্ধৃতিগুলির ভিতরে একটি সমস্যা হতে পারে। এটি ডাবল উদ্ধৃতিগুলির বাইরে এই জাতীয় উত্পাদনের মাধ্যমে করা যেতে পারে:
echo "My terminal is $term, first file found in /dev is </dev/`ls /dev | head -n 1`>, the
dollar symbol is '"`echo '$'`"', and a newspaper costs "`echo '$'`"2.50."
or like this:
echo "$term is the value of "'$term'
আউটপুট:
My terminal is xterm, first file found in /dev is </dev/acpi>, the dollar symbol
is '$', and a newspaper costs $2.50.
xterm is the value of $term
echo "$term is the value of \$term"
ইতিমধ্যে অন্য উত্তরে ব্যাখ্যা করা হয়েছে। বা printf '%s is the value of $term\n' "$term"
যাইহোক যাইহোক, কেউ echo
যথেচ্ছ ডেটার জন্য ব্যবহার করা উচিত নয় ।
ব্যবহার করুন:
echo ''\$PATH'' >> output.txt
এটি কাজ করবে।
ec""h'''o''' ''""''\$P''A""TH''
echo '$PATH'
। উদ্ধৃতি সম্পর্কে আরও তথ্যের জন্য, এই এবং এটি দেখুন