Debian/Ubuntu - перечисление команд
-
Костя_Лу@vk
Debian/Ubuntu - перечисление команд
на сайтах часто пишут несколько команд разделяя вертикальной чертой |
но в терминале (linux mint) ругается на эту черту.
какие команды можно выполнять через черту и какие с помощью && и в чем разница?
но в терминале (linux mint) ругается на эту черту.
какие команды можно выполнять через черту и какие с помощью && и в чем разница?
-
ruslandh
Re: Debian/Ubuntu - перечисление команд
Цитата Костя_Лу@vk:
но в терминале (linux mint) ругается на эту черту.
Вы наверное как-то не так вводите.
| - это перенаправление в конвеер вывода предыдущей команды (например вывод одной команды направляется на вход другой), например:
($ - это приглашение bash, а не сама команда)
Код:
А вот эти команды другие - они логические, хотя и выглядят похоже
&& - это логическая команда "И",
|| - это логическая команда "ИЛИ",
Они могут, например частью команды test (см man test) или работать с ней в связке:
Код:
Тут такое объяснение - для того, что-бы посчитать результат для операции ИЛИ надо получиить хотя-бы одну истину, так-что будут выполняться все команды в строке, пока не встретится хотя-бы одна истина, а для команды И - пока не встретится ложь.
Есть ещё один оператор - ; (точка с запятой) - она просто отделяет одну команду от другой.
Вот ещё примеры - можете сами разобрать, как это работает:
Код:
но в терминале (linux mint) ругается на эту черту.
Debian/Ubuntu - перечисление команд
Вы наверное как-то не так вводите.
| - это перенаправление в конвеер вывода предыдущей команды (например вывод одной команды направляется на вход другой), например:
($ - это приглашение 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
$-
Костя_Лу@vk
Re: Debian/Ubuntu - перечисление команд
а как вводится вертикальная черта? на виндовсе я знаю, шифт+следующая клавиша после клавиши +
а в линуксе она выводит не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
например 1 # apt-get install vasya && petya
или вот пример 2:
# cat /var/log/Xorg.0.log | egrep -i "(error|fail|warning)"
правельно я сделал 1 пример или надо было написать так: # apt-get install vasya && apt-get install petya ?
второй пример терминал игнорирует и ругается на ошибку. если черту убрать и всё что после нее - он выполнит.
а в линуксе она выводит не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
например 1 # apt-get install vasya && petya
или вот пример 2:
# cat /var/log/Xorg.0.log | egrep -i "(error|fail|warning)"
правельно я сделал 1 пример или надо было написать так: # apt-get install vasya && apt-get install petya ?
второй пример терминал игнорирует и ругается на ошибку. если черту убрать и всё что после нее - он выполнит.
-
ruslandh
Re: Debian/Ubuntu - перечисление команд
Ну, первая команда у вас не выполнтся:
Вы вввели (пишу эквивалентные многострочные команды для ясности)
Код:
а не
Код:
Вы вввели (пишу эквивалентные многострочные команды для ясности)
Код:
Код: Выделить всё
# apt-get install vasya
# petyaа не
Код:
Код: Выделить всё
# apt-get install vasya
# apt-get install petya-
Костя_Лу@vk
Re: Debian/Ubuntu - перечисление команд
или надо было написать так: # apt-get install vasya && apt-get install petya ?
на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
-
ruslandh
Re: Debian/Ubuntu - перечисление команд
Вторая команда на первый взгляд верная:
Код:
Цитата Костя_Лу@vk:
на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
Мне трудно указать на эту клавишу, т.к. эта клавиша 'прыгает" в разных раскладках.
Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней):
rus - \ /
lat - \ |
Код:
Код: Выделить всё
$ cat /var/log/Xorg.0.log | egrep -i "(error|fail|warning)"
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.Цитата Костя_Лу@vk:
на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.
Debian/Ubuntu - перечисление команд
Мне трудно указать на эту клавишу, т.к. эта клавиша 'прыгает" в разных раскладках.
Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней):
rus - \ /
lat - \ |
-
zai
Re: Debian/Ubuntu - перечисление команд
Цитата Костя_Лу@vk:
или надо было написать так: # apt-get install vasya && apt-get install petya ?
В данном случае: apt-get install vasya petya
Прочитай:
или надо было написать так: # apt-get install vasya && apt-get install petya ?
Debian/Ubuntu - перечисление команд
В данном случае: apt-get install vasya petya
Прочитай:
http://www.opennet.ru/docs/RUS/bash_scripting_guide/
-
Костя_Лу@vk
Re: Debian/Ubuntu - перечисление команд
Цитата ruslandh:
Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней):
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек.
Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней):
Debian/Ubuntu - перечисление команд
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек.
-
ruslandh
Re: Debian/Ubuntu - перечисление команд
Цитата Костя_Лу@vk:
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек.
Что-то у вас не так с английской раскладкой клавиатуры.
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек.
Debian/Ubuntu - перечисление команд
Что-то у вас не так с английской раскладкой клавиатуры.
-
zai