Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: перечисление команд
Показать сообщение отдельно

Аватара для ruslandh

info man howto


Сообщения: 6960
Благодарности: 385

Профиль | Сайт | Отправить PM | Цитировать


Цитата Костя_Лу@vk:
но в терминале (linux mint) ругается на эту черту. »
Вы наверное как-то не так вводите.

| - это перенаправление в конвеер вывода предыдущей команды (например вывод одной команды направляется на вход другой), например:

($ - это приглашение bash, а не сама команда)

Код: Выделить весь код
$ echo -ne  "as\nbuka\n"
as
buka

$ echo -ne  "as\nbuka\n" | grep as
as
А вот эти команды другие - они логические, хотя и выглядят похоже
&& - это логическая команда "И",
|| - это логическая команда "ИЛИ",

Они могут, например частью команды test (см man test) или работать с ней в связке:

Код: Выделить весь код
$ test  1 -eq 0 || echo aa
aa

$ test  1 -eq 1  || echo aa

$

$ test  1 -eq 1  && echo aa
aa

$ test  1 -eq 0  && echo aa

$
Тут такое объяснение - для того, что-бы посчитать результат для операции ИЛИ надо получиить хотя-бы одну истину, так-что будут выполняться все команды в строке, пока не встретится хотя-бы одна истина, а для команды И - пока не встретится ложь.

Есть ещё один оператор - ; (точка с запятой) - она просто отделяет одну команду от другой.

Вот ещё примеры - можете сами разобрать, как это работает:

Код: Выделить весь код
$ cat / 2>/dev/null ; echo $#
0

$ cat / 2>/dev/null && echo $#

$                                

$ cat / 2>/dev/null || echo $#
0

$

-------
Поспешай не торопясь


Последний раз редактировалось ruslandh, 07-01-2016 в 19:46.


Отправлено: 19:40, 07-01-2016 | #2

Название темы: перечисление команд