Как мне проверить, существуют ли один или оба из двух файлов?

GA-B150-HD3 — довольно новая материнская плата, гораздо более новая, чем ядро ​​CentOS 5 2.6.18. У вас нет драйверов для оборудования, которого даже не существовало, когда было выпущено ядро. Вам нужно более новое ядро.

Elrepo содержит резервные порты ядра для CentOS, но я думаю, что они больше не поддерживают CentOS 5.

Я бы рекомендовал установить последний дистрибутив, например CentOS 7, и запускать все, что вам нужно, на CentOS 5 в виртуальная среда. Это не обязательно должна быть полноценная виртуальная машина, если вы не можете справиться с падением производительности, для многих вещей достаточно простого chroot, а если он не работает, вы можете использовать пространства имен или контейнеры — запустите пользовательскую среду CentOS 5 на ядре CentOS 7.

0
23.12.2016, 22:22
3 ответа
if test -e file1 || test -e file2; then
  # At least one of file1 or file2 exists
  ...
else
  # Neither file1 nor file2 exists
fi

test -e проверяет простое существование. Вам может понадобиться более конкретный тест, например -b (существует и является специальным блоком), -c (существует и является специальным символом), -d (существует и является каталогом), -f (существует и является обычным файлом) и т.д.

3
28.01.2020, 02:14

Оба других ответа запускают тест дважды. Хотя это будет работать, у него есть неэффективность двух ветвей процесса. Вы можете выполнить «или» за один тест с помощью:

if [ -e file1 -o -e file2 ]; then ...

Что будет немного эффективнее.

4
28.01.2020, 02:14

Хотя / bin / test и страница руководства для test не содержат имени, вы можете использовать test -a / path / to / file чтобы определить, существует ли файл.

if [ -a file1 ] || [ -a file2 ]; then echo "I found something"; fi

|| фактически является логическим ИЛИ.

0
28.01.2020, 02:14

Теги

Похожие вопросы