Answers:
$ 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的建议),请提出一个新问题。
$ man date && man echo
在壳。