Я плохо знаком с терминалом и пытающийся изучить, как использовать его.
Что делают эти строки? И как они работают?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
$ 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
Необходимо запустить со страниц руководства, команды 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
я надеюсь что ясный it’s. Не стесняйтесь спрашивать если нет.
echo -n "Today's date is: "
Это распечатает: Сегодняшняя дата:
date +"%A, %B %-d, %Y"
Это распечатает что-то вроде этого: вторник, 7 февраля 2017
Совет :
использование man
или --help
команда для знания больше о любых других командах.
, например:
man echo
echo --help
Попытка эти проблемы проблемы действительно хороши, чтобы помочь Вам учиться делать вещи на терминале.