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]; তারপরে "রুট ব্যবহারকারী নয়" অন্য প্রতিধ্বনিত করুন "রুট ব্যবহারকারী" ফাই