Автор Гілка: Сховати помилку echo manual > /etc/init/cups.override 2>/dev/null  (Прочитано 4266 раз)

idontremember

  • Гість
Хочу щоб помилка другоъ команди йшла в /dev/null
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$

Лінки на документацію про перенаправлення вітаюься.

НЕ пишуть мені про sudo. Помилку потрібно сховати у скрипті.
« Змінено: 2016-03-21 23:55:47 від idontremember »

idontremember

  • Гість
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]...
« Змінено: 2016-03-22 11:00:23 від idontremember »

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Ніби чітко написано що помилку видає bash. Помилки самого bash можна заглушити або ззовні скрипта (2>/dev/null) , або в самому скрипті через закриття дескриптора (&2-).
[Fedora Linux]

idontremember

  • Гість
Вирішив, але про перенаправлення потрібно почитати. Я ж уже давно не Слекварщик. Я з бубнтою забув та чого і так не знав.

Чому запитував.
---
Вже отримав тумаків за негодне написання. Доведеться його ДОписати.
« Змінено: 2016-03-22 16:39:54 від idontremember »