Tôi mới đến terminal và cố gắng học cách sử dụng nó.
Những dòng này làm gì? Và họ làm việc như thế nào?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Tôi mới đến terminal và cố gắng học cách sử dụng nó.
Những dòng này làm gì? Và họ làm việc như thế nào?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Câu trả lời:
$ type echo
echo is a shell builtin
có nghĩa là, echo
lệnh là một phần của bash
chính chương trình (giả sử bạn sử dụng bash)
-n
là một tùy chọn, vì vậy hãy xem những gì nó làm
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Vì vậy, khi chúng tôi chạy dòng:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm trông không được tốt lắm, vì không có dòng mới sau văn bản in. Chúng tôi sẽ trở lại với điều này.
$ type date
date is /bin/date
ah vì vậy date
lệnh là một chương trình riêng biệt. Nó làm gì?
$ man date
Display the current time in the given FORMAT, or set the system date.
Các ký tự sau date
lệnh là các tùy chọn định dạng (phải được đặt trước +
) - các phần khác nhau của ngày được chỉ định (ví dụ: %A
tên đầy đủ của ngày trong tuần - xem phần còn lại của man date
danh sách tùy chọn đầy đủ)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Vì vậy, nếu chúng ta đặt các lệnh cùng nhau trong một tập lệnh và sau đó chạy tập lệnh, chúng tôi sẽ nhận được
Today's date is: Tuesday, February 7, 2017
Đẹp! Nếu bạn muốn có cùng hiệu ứng trong một thiết bị đầu cuối, bạn có thể sử dụng dấu chấm phẩy để phân tách hai lệnh thay vì một dòng mới:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Bạn nên bắt đầu với các trang hướng dẫn, lệnh man
. Chỉ cần gõ man <command>
để có được thông tin về a <command>
. Điều hướng trong man
không trực quan lắm nhưng có rất nhiều hướng dẫn về nó, ví dụ https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .
Các phần có liên quan của man echo
và man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
Vì vậy, nó in chuỗi và không đi đến dòng mới sau đó (đó là hành vi mặc định), vì vậy đầu ra của lệnh tiếp theo sẽ được in ở phía bên phải của chuỗi lặp lại.
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
Tôi hy vọng nó rõ ràng. Hãy hỏi nếu không.
date
không hiển thị ngày trong thiết bị đầu cuối (giao diện dòng lệnh). Nếu bạn muốn một cái gì đó nhiều hơn (như những gì Zanna gợi ý), vui lòng hỏi một câu hỏi mới.
echo -n "Today's date is: "
Nó sẽ in: Ngày hôm nay là:
date +"%A, %B %-d, %Y"
Nó sẽ in một cái gì đó như thế này: Thứ ba, ngày 7 tháng 2 năm 2017
Lời khuyên :
sử dụng man
hoặc --help
lệnh để biết thêm về bất kỳ lệnh nào khác.
ví dụ :
man echo
echo --help
Hãy thử những thử thách này những thử thách thực sự tốt để giúp bạn học cách làm mọi thứ trên thiết bị đầu cuối.
$ man date && man echo
ở vỏ.