Вывод перенаправления программы Python к/dev/null

Только добавить специальное замечание для SQL Server 2008. По данным Microsoft, можно переместить файлы базы данных, не имея необходимость отсоединять базу данных.

http://msdn.microsoft.com/en-us/library/ms345483.aspx

Это в основном составляет выведение из эксплуатации базы данных и затем выполнение операторов ALTER, которые изменяют отображения имени файла к базе данных/файлам журнала.

0
задан 8 June 2010 в 19:09
1 ответ

Программа может писать в tty вместо stdout. Вы можете использовать unbuffer сценарий, который идет expect или некоторое другое использование техники expect или что-то подобное.

Вот демонстрация. Создайте этот сценарий и назовите его "writetty". Затем сделайте chmod u+x writetty:

#!/bin/bash
date > /dev/tty

Теперь испытайте его:

$ ./writetty
Tue Jun  8 12:24:36 CDT 2010
$ ./writetty > /dev/null
Tue Jun  8 12:24:46 CDT 2010
$ var=$(./writetty)
Tue Jun  8 12:24:56 CDT 2010
$ unbuffer ./writetty > /tmp/writetty.out
$ cat /tmp/writetty.out
Tue Jun  8 12:25:06 CDT 2010
$ var=$(unbuffer ./writetty)
$ echo $var
Tue Jun  8 12:25:16 CDT 2010

Вы могли использовать expect ответить на запрос программы на вход вместо того, чтобы уничтожить его.

3
ответ дан 4 December 2019 в 13:07
  • 1
    Спасибо за ответ! Isn' t строка "./writetty >/dev/null" эквивалентный " дата >/dev/tty >/dev/null" в Вашем примере? Та строка успешно подавляет вывод - так может мы принимать прогр Python isn' t производящий к/dev/tty? I' d любят мочь использовать, ожидают, но I' m не разрешенный установить любые дополнительные пакеты :( –  tjbp 9 June 2010 в 12:29
  • 2
    @STM: Нет, they' ре, не эквивалентное. Как Вы видите из демонстрации (попробуйте ее сами), перенаправляя сценарий к /dev/null все еще выводы к терминалу. –  Paused until further notice. 9 June 2010 в 13:24
  • 3
    @STM: Вы могли бы также попробовать: yourprog < /dev/null > /dev/null или yourprog < /dev/tty > /dev/null или yourprog < /dev/stdin > /dev/null, чтобы видеть, привлечет ли это его внимание. –  Paused until further notice. 9 June 2010 в 13:32

Теги

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