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

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - перечисление команд

Ответить
Настройки темы
Debian/Ubuntu - перечисление команд

Аватара для Костя_Лу@vk

Ветеран


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


Конфигурация

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


на сайтах часто пишут несколько команд разделяя вертикальной чертой |
но в терминале (linux mint) ругается на эту черту.
какие команды можно выполнять через черту и какие с помощью && и в чем разница?

Отправлено: 19:02, 07-01-2016

 

Аватара для ruslandh

info man howto


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

Профиль | Сайт | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Костя_Лу@vk

Ветеран


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

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


а как вводится вертикальная черта? на виндовсе я знаю, шифт+следующая клавиша после клавиши +
а в линуксе она выводит не вертикальную черту а 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 ?
второй пример терминал игнорирует и ругается на ошибку. если черту убрать и всё что после нее - он выполнит.

Последний раз редактировалось Костя_Лу@vk, 07-01-2016 в 19:53.


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


Аватара для ruslandh

info man howto


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

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


Ну, первая команда у вас не выполнтся:
Вы вввели (пишу эквивалентные многострочные команды для ясности)
Код: Выделить весь код
# apt-get install vasya
# petya
а не

Код: Выделить весь код
# apt-get install vasya
# apt-get install petya

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


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


Аватара для Костя_Лу@vk

Ветеран


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

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


или надо было написать так: # apt-get install vasya && apt-get install petya ?

на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок.

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


Аватара для ruslandh

info man howto


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

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


Вторая команда на первый взгляд верная:

Код: Выделить весь код
$  cat /var/log/Xorg.0.log | egrep -i "(error|fail|warning)"
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
Цитата Костя_Лу@vk:
на виндовсе я знаю, шифт+следующая клавиша после клавиши + выводит вертикальную черту. а в линуксе выводится не вертикальную черту а 2 вертикальных полоски-как-бу двоеточие из полосок. »
Мне трудно указать на эту клавишу, т.к. эта клавиша 'прыгает" в разных раскладках.

Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней):

rus - \ /
lat - \ |

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


Отправлено: 20:00, 07-01-2016 | #6

zai zai вне форума

Аватара для zai

Ветеран


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

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


Цитата Костя_Лу@vk:
или надо было написать так: # apt-get install vasya && apt-get install petya ? »
В данном случае: apt-get install vasya petya
Прочитай: http://www.opennet.ru/docs/RUS/bash_scripting_guide/

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Последний раз редактировалось zai, 07-01-2016 в 21:18.


Отправлено: 21:00, 07-01-2016 | #7


Аватара для Костя_Лу@vk

Ветеран


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

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


Цитата ruslandh:
Могу просто указать все символы, которые выводятся этой кнопкой (первая без Shift, вторая с ней): »
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек.

Отправлено: 21:23, 07-01-2016 | #8


Аватара для ruslandh

info man howto


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

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


Цитата Костя_Лу@vk:
в виндовсе у меня тоже так. а с линукса немного подрегому-там нет вертикальной черты. тока двоеточие из 2 палочек. »
Что-то у вас не так с английской раскладкой клавиатуры.

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


Отправлено: 21:28, 07-01-2016 | #9

zai zai вне форума

Аватара для zai

Ветеран


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

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


попробуй: Shift+кнопка под F11(между+ и стрелкой)

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Отправлено: 21:30, 07-01-2016 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - перечисление команд

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - запись команд в лог. cher Скриптовые языки администрирования Windows 3 26-09-2011 00:43
Разное - перечисление устройств "\\?\Volume{GUID}\"-типа hackroute Microsoft Windows 7 2 23-02-2011 12:13
C/C++ - [решено] Непонятка при присвоении значения переменной, имеющей тип: перечисление. Oleg_SK Программирование и базы данных 5 04-12-2008 07:22
Список команд Trojn Хочу все знать 13 17-05-2003 15:41
Перечисление объектов типов vasketsov Программирование и базы данных 3 24-04-2002 17:32




 
Переход