এই বাক্যবিন্যাসটির অর্থ কী?


16

আমি টার্মিনালে নতুন এবং এটি কীভাবে ব্যবহার করতে হয় তা শেখার চেষ্টা করছি।

এই লাইনগুলি কি করে? এবং তারা কীভাবে কাজ করবে?

echo -n "Today's date is: "
date +"%A, %B %-d, %Y"

7
$ man date && man echoশেল এ।
কোড_ড্রেড

উত্তর:


76
$ type echo
echo is a shell builtin

অর্থ, echoকমান্ডটি bashনিজেই প্রোগ্রামটির অংশ (ধরে নেওয়া হয়েছে আপনি ব্যাশ ব্যবহার করছেন)

-n একটি বিকল্প, সুতরাং আসুন এটি কি করে দেখুন

$ help echo
Write arguments to the standard output
...
-n  do not append a newline

সুতরাং যখন আমরা লাইনটি চালাই:

zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$ 

হুম এটি খুব ভাল দেখাচ্ছে না কারণ মুদ্রিত পাঠ্যের পরে কোনও নতুন লাইন নেই। আমরা এই ফিরে আসব।

$ type date
date is /bin/date

আহ তাই dateকমান্ড একটি পৃথক প্রোগ্রাম। এটার কাজ কি?

$ man date
Display the current time in the given FORMAT, or set the system date.

dateকমান্ডের পরে অক্ষরগুলি বিন্যাস বিকল্পগুলি (যা অবশ্যই এর আগে হওয়া উচিত +) - তারিখের বিভিন্ন অংশ নির্দিষ্ট করা হয় (উদাহরণস্বরূপ %Aসপ্তাহের দিনের পুরো নাম - man dateবিকল্পগুলির সম্পূর্ণ তালিকার বাকি অংশগুলি দেখুন )

$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017

সুতরাং যদি আমরা একটি স্ক্রিপ্টে কমান্ডগুলি একসাথে রাখি এবং তারপর স্ক্রিপ্টটি চালিত করি

Today's date is: Tuesday, February 7, 2017

নিস! আপনি যদি টার্মিনালে একই প্রভাব দেখতে চান তবে আপনি একটি নিউলাইনের পরিবর্তে দুটি কমান্ড পৃথক করতে একটি সেমিকোলন ব্যবহার করতে পারেন:

$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017

21
এটি একটি উন্নত আরটিএফএম উত্তর, +1
ওয়াইএসসি

1
আমি বলব যে এটি যুক্তির আগে প্লাস চিহ্নটি কী তার ব্যাখ্যাটি হারিয়েছে
ডালিসন জুনিও

@ ডলিসন জুনিও সম্পাদনা করেছেন, তবে মেলিবিয়াসের উত্তরটি সরাসরি পুরুষ পৃষ্ঠার উদ্ধৃতি দিয়ে আরও ভাল দেখায়
জান্না

@ জ্যান্না আমি ওপি নই, তবে আমার চোখে যা ধরা পড়েছিল তা হ'ল প্লাসটি অদ্ভুত বলে মনে হয় বশটি উদ্ধৃতিগুলির মধ্যে সমস্ত কিছুই একটি যুক্তি হিসাবে ব্যাখ্যা করবে, প্লাসটি ছাড়া নয়। তবে আমি অনুমান করি এটি অন্য প্রশ্ন
ডালিসন জুনিও

2
আপনি আসলে কোটের ভিতরে প্লাসটিও রাখতে পারেন। কোশের উদ্ধৃত এবং সংলগ্ন পাঠগুলি একসাথে চালনার এক অদ্ভুত অনুভূতি রয়েছে যেমন সিডি "$ x" / আউটপুট বা এমনকি সিডি নোস্পেস / "স্পেস সহ" / নোস্পেস
স্টারওয়েভার

10

কমান্ডটি ম্যানুয়াল পৃষ্ঠাগুলি দিয়ে শুরু করা উচিত manman <command>একটি সম্পর্কে তথ্য পেতে শুধু টাইপ করুন <command>। নেভিগেট করা manখুব স্বজ্ঞাত নয় তবে এর জন্য প্রচুর গাইড রয়েছে, উদাহরণস্বরূপ https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages

প্রাসঙ্গিক অংশের man echoএবং man date:

প্রতিধ্বনি

echo [SHORT-OPTION]... [STRING]...

Echo the STRING(s) to standard output.

-n     do not output the trailing newline

সুতরাং এটি স্ট্রিং মুদ্রণ করে এবং তার পরে নতুন লাইনে যাবে না (যা পূর্বনির্ধারিত আচরণ), সুতরাং পরবর্তী কমান্ডের আউটপুট প্রতিধ্বনিত স্ট্রিংয়ের ডানদিকে মুদ্রিত হবে।

তারিখ

date [OPTION]... [+FORMAT]

FORMAT controls the output.  Interpreted sequences are:

%A     locale's full weekday name (e.g., Sunday)

%B     locale's full month name (e.g., January)

%d     day of month (e.g., 01)

%Y     year

By default, date pads numeric fields with zeroes.  The following optional flags may follow '%':

-      (hyphen) do not pad the field

আমি আশা করি এটি পরিষ্কার হয়ে গেছে যদি না জিজ্ঞাসা করুন নির্দ্বিধায়।


অনেক ধন্যবাদ. আমার আরও একটি প্রশ্ন রয়েছে: টার্মিনালে তারিখটি দেখানোর জন্য কি ইতিমধ্যে কোনও অন্তর্নির্মিত ফাংশন রয়েছে?
অজানা ব্যক্তি

@ জান্না এটি আসলে কোনও নতুন প্রশ্ন নয়, এটি আমি যে প্রশ্নটি করেছি তার সাথে সম্পর্কিত।
অজানা ব্যক্তি

1
@ অজ্ঞাতপরিচয় আপনি যদি ডিফল্টরূপে টার্মিনালটিতে তারিখটি প্রদর্শন করতে চান তবে "এই কোডটি কী করবে" এটি সত্যিই সম্পূর্ণ আলাদা প্রশ্ন কারণ আপনাকে পিএস 1 ভেরিয়েবলটি সম্পাদনা করতে হবে (অথবা সম্ভবত এটি টার্মিনাল অ্যাপ্লিকেশন দিয়ে করা যেতে পারে) সেটিংস - যা সম্পর্কে আমি অজ্ঞ) যা এই পোস্টের
আওতার বাইরে

1
@ অজ্ঞাতপরিচয় টার্মিনালে তারিখ প্রদর্শন date করে (কমান্ড-লাইন ইন্টারফেস)। আপনি যদি আরও কিছু চান (যেমন জানার পরামর্শ দেয়) তবে দয়া করে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন।
মেলবিয়াস

4
echo -n "Today's date is: "

এটি মুদ্রণ করবে: আজকের তারিখটি:

date +"%A, %B %-d, %Y"

এটি এর মতো কিছু মুদ্রণ করবে: মঙ্গলবার, ফেব্রুয়ারী 7, 2017

পরামর্শ :

  1. অন্য কোনও কমান্ড সম্পর্কে আরও জানতে কমান্ড ব্যবহার করুন manবা ব্যবহার করুন --help
    যেমন:

    man echo
    echo --help
  2. টার্মিনালটিতে জিনিসগুলি শিখতে আপনাকে সহায়তা করার জন্য এই চ্যালেঞ্জগুলির চ্যালেঞ্জগুলি সত্যিই ভাল Try

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.