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


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: Спрятать ошибку echo manual > /etc/init/cups.override 2>/dev/null  (Прочитано 530 раз)

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

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
xuser@mh:~/bin$ rm -f /etc/init/cups.override 2>/dev/null
xuser@mh:~/bin$ echo manual > /etc/init/cups.override 2>/dev/null
bash: /etc/init/cups.override: Отказано в доступе
xuser@mh:~/bin$
хочу чтобы ошибки второй комманды тоже шли в /dev/null


Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
начало
sudo suи дальше команды, потом exit.
~.o

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Про sudo я знаю.

Спрятать ошибку нужно  в скрипте.

« Последнее редактирование: 22 Март 2016, 00:47:05 от root_x »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
Цитировать
Про sudo я знаю.
конечно.

~.o

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2211
  • X-9000SC
    • Просмотр профиля
root_x,
Не совсем понятны ваши действия. Зачем?
 
Используйте tee
echo manual | tee /etc/init/cups.override 2> /dev/nullлибо, чтоб вообще подавить вывод
echo manual | tee /etc/init/cups.override > /dev/null 2>&1
« Последнее редактирование: 22 Март 2016, 04:56:59 от ALiEN175 »
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
echo 1 2>/dev/null 1>/1.txt || echi -=error=- >&2
~.o

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
root_x,
Не совсем понятны ваши действия. Зачем?
 
В СКРИПТЕ есть такое перненаправление. Потому и нужно скрыть ошибку.

второе подощло!
echo manual | tee /etc/init/cups.override > /dev/null 2>&1
Я понимаю что echo пишет на станд выход. tee читает со станд выхода... а дальше???

И почему echo не хочет ошибки слать в 2?

Какая тут теория перенаправлений?

man tee я увидел
TEE(1)                                          User Commands                                          TEE(1)

NAME
       tee - read from standard input and write to standard output and files

SYNOPSIS
       tee [OPTION]... [FILE]...

echo 1 2>/dev/null 1>/1.txt || echо -=error=- >&2

Сложно для меня  :(
« Последнее редактирование: 22 Март 2016, 12:04:22 от root_x »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
ну, так.
1:L~$
1:L~$ echo manual > /etc/init/cups.override 2>/dev/nullbash: /etc/init/cups.override: Отказано в доступе
1:L~$
1:L~$ echo manual 1>/etc/init/cups.override 2>/dev/null
bash: /etc/init/cups.override: Отказано в доступе
1:L~$
1:L~$ echo manual 2>/dev/null >/etc/init/cups.override
1:L~$
1:L~$ echo manual 2>/dev/null >/etc/init/cups.override || echo 1error1
1error1
1:L~$
1:L~$ ( echo manual 2>/dev/null >/etc/init/cups.override || true ) || echo 1error1
1:L~$
1:L~$ ( echo manual 2>/dev/null >/etc/init/cups.override || false ) || echo 1error1
1error1
1:L~$
1:L~$

это подарок тебя.
~.o

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
ну, так.
...
это подарок тебя.

Спасибо ;)
---
Документация ссылки.(?)

Хочу понимать перенаправление.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 14922
  • Я не слышу.
    • Просмотр профиля
почему? я сам примерно любопыто команды, потом понятно.
давно сылку не помню, просто мэре правила, можно здесь помощь.
~.o

Оффлайн ALiEN175

  • Старожил
  • *
  • Сообщений: 2211
  • X-9000SC
    • Просмотр профиля
Цитировать
Документация ссылки.(?)

Хочу понимать перенаправление.
ТЫК
ТЫК (комменты тоже интересные)

Цитировать
Я понимаю что echo пишет на станд выход. tee читает со станд выхода... а дальше???
tee пишет вывод (stdout) в файл и передает дальше.
> /dev/null - кидаем в бездну stdout
2>&1 - отправляем stderr в stdout, но у нас stdout уже скинут в бездну, поэтому вывод ошибки подавлен

Цитировать
echo 1 2>/dev/null 1>/1.txt || echо -=error=- >&2
сразу все ошибки в бездну, то, что не ошибка - пишем в файл. Конструкция "|| echо -=error=-" выводит сообщение в том случае, если предыдущая команда завершилась с ошибкой.
>&2 перенаправляет stdout в stderr
"1>" то же самое, что ">"
« Последнее редактирование: 22 Март 2016, 14:16:52 от ALiEN175 »
Благодарности на Yandex 41001488642430. Cпасибо.

Оффлайн root_x

  • Автор темы
  • Активист
  • *
  • Сообщений: 261
    • Просмотр профиля
Зачем я спрашивал

благодарочка за ссылки.

 

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