Что означает этот синтаксис?

Я новичок в терминале и пытаюсь научиться его использовать.

Что делают эти строки? И как они работают?

echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
1
задан 8 February 2017 в 08:28

2 ответа

Вы должны начать с страниц руководства, команды man. Просто введите man <command>, чтобы получить информацию о <command>. Навигация в man не очень интуитивно, но есть много руководств, например https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages.

Соответствующие части man echo и man date:

echo

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

Echo the STRING(s) to standard output.

-n     do not output the trailing newline

Таким образом, он печатает строку и не переходит в новую строку после этого (что является поведением по умолчанию), поэтому вывод следующей команды будет напечатана с правой стороны эхо-строки.

date

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

Надеюсь, это ясно. Не стесняйтесь спрашивать, нет ли.

10
ответ дан 23 May 2018 в 01:42
  • 1
    Большое спасибо. У меня есть другой вопрос: есть ли встроенная функция для отображения даты в терминале? – Unknown person 7 February 2017 в 11:43
  • 2
    @Zanna. На самом деле это не новый вопрос, это связано с вопросом, который я задал. – Unknown person 7 February 2017 в 11:52
  • 3
    @Unknownperson, если вы хотите, чтобы дата отображалась в терминале по умолчанию, это действительно совершенно другой вопрос: «что делает этот код»? потому что вам нужно будет отредактировать переменную PS1 (или, возможно, это может быть сделано с настройками терминала приложения - об этом я не знаю), который выходит за рамки этой публикации – Zanna 7 February 2017 в 11:54
  • 4
    @Unknownperson date делает дату в терминале (интерфейс командной строки). Если вы хотите что-то большее (например, что предлагает Занна), задайте новый вопрос. – Melebius 7 February 2017 в 11:55
echo -n "Today's date is: "

Он напечатает: Сегодняшняя дата:

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

Она напечатает что-то вроде этого: вторник, 7 февраля 2017 г.

Совет:

используйте команду man или --help, чтобы узнать больше о любых других командах. например:
man echo
echo --help
Попытайтесь решить эти проблемы, потому что действительно полезно помочь вам научиться делать что-то на терминале.
4
ответ дан 23 May 2018 в 01:42

Другие вопросы по тегам:

Похожие вопросы: