LINUX.ORG.RU

dpkg -l | grep -q acpi && echo Installed

Используйте уже ж return codes.

uzbl
()

hint: каждая команда возвращает exit code, который и проверяет команда if (то есть `[` - это тоже команда).
Либо:
if dpkg -l | grep acpi; then echo installed; fi
либо даже:
dpkg -l | grep acpi && echo installed

Кстати, grep'у в данном случае не помешает ключ -q.

AITap ★★★★★
()
Ответ на: комментарий от arsi

Там несколько пакетов acpi, мне нужен только одни.

Phaser
() автор топика
Ответ на: комментарий от AITap

Вот я написал команду
dpkg -l | awk /acpi/'{print $2}
Как из выхлопа выдать слово только состоящее из 4-х символов?

Phaser
() автор топика
Ответ на: комментарий от AITap

> dpkg -l acpi && echo installed
Если пакета не установлен, то команда все равно заканчивается положительно.

Phaser
() автор топика
Ответ на: комментарий от Phaser

Не всегда:
[13:43:10][aitap@Tarkus ~]> aptitude show acpi-fakekey
Пакет: acpi-fakekey
Состояние: не установлен
Версия: 0.138-9
Приоритет: необязательный
Раздел: admin
Сопровождающий: Debian Acpi Team <pkg-acpi-devel@lists.alioth.debian.org>
Размер в распакованном виде: 106 k
Зависимости: libc6 (>= 2.0)
Ломают: acpi-support (< 0.136-1)
Заменяют: acpi-support (< 0.136-1)
Описание: tool to generate fake key events
This package contains a small tool that can be used to generate key events as if the corresponding key was pressed. It is used by scripts processing ACPI events to translate
these events to key presses but can also be used separately.

[13:43:14][aitap@Tarkus ~]> dpkg -l acpi-fakekey
Шаблону acpi-fakekey не соответствует ни один пакет.
[13:43:20][aitap@Tarkus ~]1>

Вероятно, это происходит для пакетов, которые были удалены после установки. Попробуйте так: dpkg -l acpi | grep -q ^ii && echo installed

AITap ★★★★★
()
Ответ на: комментарий от AITap

>это происходит для пакетов, которые были удалены после установки

Да, если удалять при помощи aptitude remove или apt-get remove, то останутся конфигурационные файлы и dpkg -l будет выдавать и эти пакеты (строка будет правда начинаться с rc, а не с ii).

Поэтому удалять надо с aptitude purge ящитаю.

Heretique
()
Ответ на: комментарий от Heretique

> Поэтому удалять надо с aptitude purge ящитаю.
Я все конфиги предварительно подчистил.

Phaser
() автор топика
Ответ на: комментарий от arsi

> sed -n 123p file.txt
Спасибо. Куча утилит для обработки текста, что крыша едет.

Phaser
() автор топика
Ответ на: комментарий от arsi

Вот у меня цикл

lines=`wc -l ~/Bot/file2 | awk '{print $1}'`
for a in {0..313}; do
	echo $a
done
Как мне вместо 313 вставить переменную lines? Которая и равна 313. И прокрутить значения от 0 до 313?

Phaser
() автор топика
Ответ на: комментарий от Phaser

> Как мне вместо 313 вставить переменную lines?

можно так:

for a in `seq 0 $lines`; do ...

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.