Jestem nowy w terminalu i próbuję nauczyć się go używać.
Co robią te linie? A jak one działają?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Jestem nowy w terminalu i próbuję nauczyć się go używać.
Co robią te linie? A jak one działają?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Odpowiedzi:
$ type echo
echo is a shell builtin
co oznacza, że echo
polecenie jest częścią samego bash
programu (zakładając, że używasz bash)
-n
jest opcją, więc zobaczmy, co robi
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Więc kiedy uruchomimy linię:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm, to nie wygląda zbyt dobrze, ponieważ po wydrukowanym tekście nie ma nowej linii. Wrócimy do tego.
$ type date
date is /bin/date
ah, więc date
polecenie jest osobnym programem. Co to robi?
$ man date
Display the current time in the given FORMAT, or set the system date.
Znaki po date
poleceniu to opcje formatowania (które muszą być poprzedzone +
) - określone są różne części daty (na przykład %A
pełna nazwa dnia tygodnia - man date
pełna lista opcji znajduje się w dalszej części )
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Więc jeśli umieścimy polecenia w skrypcie, a następnie uruchomimy skrypt, otrzymamy
Today's date is: Tuesday, February 7, 2017
Ładny! Jeśli chcesz uzyskać ten sam efekt w terminalu, możesz użyć średnika do oddzielenia dwóch poleceń zamiast nowego wiersza:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Powinieneś zacząć od stron podręcznika, polecenia man
. Po prostu wpisz, man <command>
aby uzyskać informacje o <command>
. Nawigacja w man
nie jest bardzo intuicyjna, ale istnieje wiele przewodników, na przykład https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .
Odpowiednie części man echo
i man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
Tak więc drukuje ciąg i po tym nie przechodzi do nowego wiersza (co jest zachowaniem domyślnym), więc wynik następnego polecenia zostanie wydrukowany po prawej stronie powtórzonego ciągu.
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
Mam nadzieję, że to jasne. Zapytaj, jeśli nie.
date
ma pokazać datę w terminalu (interfejs linii poleceń). Jeśli chcesz czegoś więcej (jak sugeruje Zanna), zadaj nowe pytanie.
echo -n "Today's date is: "
Zostanie wydrukowane: dzisiejsza data to:
date +"%A, %B %-d, %Y"
Wydrukuje coś takiego: wtorek, 7 lutego 2017 r
Porada :
użyj man
lub --help
polecenie, aby dowiedzieć się więcej o innych poleceniach.
np .:
man echo
echo --help
Wypróbuj te wyzwania wyzwania są naprawdę dobre, aby pomóc Ci nauczyć się robić rzeczy na terminalu.
$ man date && man echo
na muszli.