Просто используйте эту команду
dpkg --info yourfile.deb | grep Version
-121--125298-
Вот довольно типичный синтаксис. Это может привести к еще одной проверке ошибок, но в рамках того, что вы хотите сделать, я полагаю, это поможет вам в правильном треке:
#!/bin/bash
file=/etc/hosts
if [ -z "$1" ]; then
echo Usage: $0 name 1>&2
exit 2
fi
if grep -q "$1" $file ; then
echo "$file" contains $1
else
echo "$file" doesn\'t contain $1
fi
тест
( если [-z «$1»]; тогда...
) имеет значение true, если $1
(первый аргумент командной строки) является пустым рядом (или не был предоставлен). Usage:
выводится на stderr
с 1 > и 2
grep
скрыт (за исключением выходных данных об ошибках, которые вы, вероятно, захотите увидеть), поскольку в этом случае мы хотим знать только,
grep
имеет параметр -q
, который замалчивает все выходные данные, что является лучшим выбором здесь, но не все команды имеют «тихий» переключатель. В этих случаях вместо этого можно использовать >/dev/null
, как в приведенном ниже примере. $?
Вы специально попросили пример с $?
. Вместо вышеуказанного , если grep...
конструкция, мы действительно могли бы разделить это на отдельные утверждения:
# grep -q "$1" $file would work just as well, here (better, maybe!):
grep "$1" $file >/dev/null
if [ $? -eq 0 ]; then
echo "$file" contains $1
else
echo "$file" doesn\'t contain $1
fi
Важно отметить, что тестирование $?
должно происходить сразу после рассматриваемой команды, так как любые другие команды (за исключением некоторых построений оболочки) приведут к перезаписи значения.
$?
$?
- это просто код выхода последнего процесса (команды), выполненного оболочкой. По соглашению код выхода 0
является успешным (хотя, как и в случае большинства конвенций, существуют исключения). Более высокие коды выхода могут иметь различные значения, специфичные для приложения, но обычно ненулевые означает какой-то ненормальный выход. Для получения дополнительной информации см. документацию по команде.
-121--216551-
Откройте терминал и запустите
sudo apt-get update; sudo apt-get модернизации
Ответ Y на все вопросы. В моем случае проблема исчезла.
Вы должны создать файл ifcfg вручную.
Я думаю, что это может быть похоже на проблему, описанную здесь :https://serverfault.com/questions/715369/centos-virtualbox-no-icfg-eth1-when-adding-secondary-network-interface