echo
বাশ এবং ড্যাশ ( /bin/sh
) এ একটি শেল অন্তর্নির্মিত । যদি আপনি echo
কমান্ড লাইনটি থেকে চালান তবে আপনি ব্যাশ বিল্টিন ব্যবহার করছেন, যদি আপনি নিজের শেল স্ক্রিপ্টটি চালাচ্ছেন sh
তবে ড্যাশ বিল্টিন ব্যবহার করছেন।
এর ড্যাশ সংস্করণটি বিকল্পটি echo
জানেন না -e
তবে \
সিকোয়েন্সগুলির জন্য কোনও বিশেষ পরিচালনা না করে কেবল ভারব্যাটিমের কিছু আউটপুট করে ।
হয় আপনার শেল স্ক্রিপ্টটি চালাতে বাশ ব্যবহার /bin/echo
করুন বা এর পরিবর্তে ব্যবহার করুন echo
:
/bin/echo -e "\e[1;31mThis is red text\e[0m"
বিভিন্ন সংস্করণে সমস্যা এড়াতে আপনার পরিবর্তে echo
ব্যবহার করতে পারেন printf
। বিপরীতে echo
printf
সর্বদা \
ক্রম ব্যাখ্যা করে তবে শেষের দিকে স্বয়ংক্রিয়ভাবে একটি লাইনফিড যুক্ত করে না তাই আপনি \n
চাইলে আপনাকে শেষে যুক্ত করতে হবে।
কিছু সংস্করণ printf
বুঝতে না পারার পরিবর্তে \e
আপনার ব্যবহার \033
করা উচিত :
printf "\033[1;31mThis is red text\033[0m\n"
/bin/echo
ড্যাশ (/bin/sh
) এবং ব্যাশ সহ;echo
ব্যাশ বা./tes.sh
উভয় সঠিকভাবে কাজ করে। নীচের কোডটিbash
কেবলমাত্র সাথে কাজ করে । যদি [$ ইউআইডি -ne 0]; তারপরে "রুট ব্যবহারকারী নয়" অন্য প্রতিধ্বনিত করুন "রুট ব্যবহারকারী" ফাই