Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Проверка наличия диска в cdrom.(Bash)  (Прочитано 1879 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн boowoo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Проверка наличия диска в cdrom.(Bash)
« : 24 Августа 2010, 01:15:56 »
Здравствуйте!
Подскажите пожалуйста,как осуществить на bash проверку наличия диска в cdrom?

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #1 : 24 Августа 2010, 01:33:52 »
Простейший способ - cat /dev/cdrom
Если диск есть, в консоль посыпется мусор. Иначе напишет, что диск не найден.
« Последнее редактирование: 24 Августа 2010, 01:41:45 от DarknetAlpha »

Оффлайн boowoo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #2 : 24 Августа 2010, 10:36:59 »
Простейший способ - cat /dev/cdrom
Если диск есть, в консоль посыпется мусор. Иначе напишет, что диск не найден.
Спасибо за совет,но мне это нужно для скрипта  а мусор слишком долго сыпется :-\
Неподходящий вариант.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #3 : 24 Августа 2010, 10:47:20 »
Мусор можно ограничить несколькими строчками.
... | head
или одной
... | head -n1
« Последнее редактирование: 24 Августа 2010, 10:50:02 от alexander.pronin »

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #4 : 24 Августа 2010, 11:21:11 »
Ух ты... Пробел в знаниях. Спасибо.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #5 : 24 Августа 2010, 11:32:31 »
Ух ты... Пробел в знаниях. Спасибо.
Восполните
man head
PS. Можно еще сильнее ограничить выдачу несколькими байтами.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #6 : 25 Августа 2010, 08:37:28 »
зачем его ограничивать?
мусор вообще можно в /dev/null отправить =)
анализировать $?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #7 : 25 Августа 2010, 09:05:07 »
Да, это более корректный вариант.

Оффлайн boowoo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #8 : 25 Августа 2010, 12:13:57 »
зачем его ограничивать?
мусор вообще можно в /dev/null отправить =)
анализировать $?

Не-а,так не получится,долго очень.Мусор у меня летел секунда 20 и я завершил процесс.Для скрипта в 60 строк простой 20 сек совершенно  неприемлемо.
А если объединить все советы описанные выше,то получится что-то вроде этого:
cat /dev/cdrom 2>/dev/null | head -n1 > /dev/null
и потом анализировать $?.Но так не получится,т.к. в $? попадет код ошибки от head, а head  в данном случае всегда заканчивается нулем.

Всем спасибо!Но вопрос все еще открыт :)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #9 : 25 Августа 2010, 13:56:24 »
head в этом случае не нужен вообще.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #10 : 25 Августа 2010, 14:00:22 »
head -c1 /dev/cdrom >/dev/null 2>&1 && echo "Диск в приводе" || echo "В приводе диска нет"

Оффлайн boowoo

  • Автор темы
  • Новичок
  • *
  • Сообщений: 12
    • Просмотр профиля
Re: Проверка наличия диска в cdrom.(Bash)
« Ответ #11 : 27 Августа 2010, 16:42:01 »
Спасибо большое! :D

 

Страница сгенерирована за 0.079 секунд. Запросов: 25.