ฉันใหม่กับเทอร์มินัลและพยายามเรียนรู้วิธีใช้
เส้นเหล่านี้ทำอะไร และพวกเขาทำงานอย่างไร
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
ฉันใหม่กับเทอร์มินัลและพยายามเรียนรู้วิธีใช้
เส้นเหล่านี้ทำอะไร และพวกเขาทำงานอย่างไร
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
คำตอบ:
$ type echo
echo is a shell builtin
ความหมายecho
คำสั่งเป็นส่วนหนึ่งของbash
โปรแกรม (สมมติว่าคุณใช้ 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
man
คุณควรเริ่มต้นด้วยหน้าคู่มือคำสั่ง เพียงแค่พิมพ์ที่จะได้รับข้อมูลเกี่ยวกับman <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
ฉันหวังว่ามันชัดเจน อย่าลังเลที่จะถามถ้าไม่
date
ไม่แสดงวันที่ในเทอร์มินัล (อินเตอร์เฟสบรรทัดคำสั่ง) หากคุณต้องการอะไรมากกว่านี้ (เหมือนที่ Zanna แนะนำ) โปรดถามคำถามใหม่
echo -n "Today's date is: "
มันจะพิมพ์: วันที่วันนี้คือ:
date +"%A, %B %-d, %Y"
มันจะพิมพ์บางอย่างเช่นนี้: วันอังคารที่ 7 กุมภาพันธ์ 2017
คำแนะนำ :
ใช้man
หรือ--help
คำสั่งเพื่อทราบข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งอื่น ๆ
เช่น :
man echo
echo --help
ลองความท้าทายเหล่านี้ความท้าทายที่ดีจริงๆที่จะช่วยให้คุณเรียนรู้ที่จะทำสิ่งต่าง ๆ บนสถานี
$ man date && man echo
ที่เปลือก