co oznacza, że echopolecenie jest częścią samego bashprogramu (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 datepolecenie jest osobnym programem. Co to robi?
$ man date
Display the current time in the given FORMAT, or set the system date.
Znaki po datepoleceniu to opcje formatowania (które muszą być poprzedzone +) - określone są różne części daty (na przykład %Apełna nazwa dnia tygodnia - man datepeł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
Powiedziałbym, że brakuje wyjaśnienia na temat znaku plus przed argumentem
Délisson Junio
@ DélissonJunio zredagowano, ale odpowiedź Melebiusa pokazuje to lepiej w bezpośrednim cytacie ze strony podręcznika man
Zanna
@Zanna Nie jestem operatorem, ale to, co przykuło moją uwagę, to fakt, że plus wydaje się dziwny, ponieważ myślę, że bash zinterpretuje wszystko między cytatami jako jeden argument, nie uwzględniając plus. Ale myślę, że to kolejne pytanie
Délisson Junio
2
Możesz również umieścić plus w cudzysłowie. Bash ma dziwny sposób na łączenie cytowanego i sąsiedniego tekstu, np. Cd „$ x” / output lub nawet cd nospace / „with space” / nospace
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.
data
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
Wielkie dzięki. Mam inne pytanie: Czy jest już wbudowana funkcja wyświetlania daty w terminalu?
Nieznana osoba,
@Zanna To właściwie nie jest nowe pytanie, jest związane z pytaniem, które zadałem.
Nieznana osoba,
1
@Nieznany osobnik, jeśli chcesz, aby data była domyślnie wyświetlana w terminalu, to naprawdę jest zupełnie inne pytanie niż „co robi ten kod”, ponieważ musisz edytować zmienną PS1 (a może to zrobić za pomocą aplikacji terminala ustawienia - o tym jestem nieświadomy), co jest poza zakresem tego postu
Zanna
1
@Unknownperson datema pokazać datę w terminalu (interfejs linii poleceń). Jeśli chcesz czegoś więcej (jak sugeruje Zanna), zadaj nowe pytanie.
Melebius
4
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 manlub --helppolecenie, 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.Odpowiedzi:
co oznacza, że
echo
polecenie jest częścią samegobash
programu (zakładając, że używasz bash)-n
jest opcją, więc zobaczmy, co robiWięc kiedy uruchomimy linię:
Hmm, to nie wygląda zbyt dobrze, ponieważ po wydrukowanym tekście nie ma nowej linii. Wrócimy do tego.
ah, więc
date
polecenie jest osobnym programem. Co to robi?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 )Więc jeśli umieścimy polecenia w skrypcie, a następnie uruchomimy skrypt, otrzymamy
Ładny! Jeśli chcesz uzyskać ten sam efekt w terminalu, możesz użyć średnika do oddzielenia dwóch poleceń zamiast nowego wiersza:
źródło
Powinieneś zacząć od stron podręcznika, polecenia
man
. Po prostu wpisz,man <command>
aby uzyskać informacje o<command>
. Nawigacja wman
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
iman date
:Echo
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.
data
Mam nadzieję, że to jasne. Zapytaj, jeśli nie.
źródło
date
ma pokazać datę w terminalu (interfejs linii poleceń). Jeśli chcesz czegoś więcej (jak sugeruje Zanna), zadaj nowe pytanie.Zostanie wydrukowane: dzisiejsza data to:
Wydrukuje coś takiego: wtorek, 7 lutego 2017 r
Porada :
użyj
man
lub--help
polecenie, aby dowiedzieć się więcej o innych poleceniach.np .:
Wypróbuj te wyzwania wyzwania są naprawdę dobre, aby pomóc Ci nauczyć się robić rzeczy na terminalu.
źródło