Управляйте что записи и к stdout и к stderr

Мы делаем семинары для стажировок, где мы объясняем Bash. Одной темой является перенаправление, потому что это довольно важно.

До сих пор мы объяснили > и 2> независимый друг от друга. Наши примеры

echo Hello world
echo Hello world > file.txt
let x=1/0
let x=1/0 2> file2.txt

Для программистов с пониманием понятия stdout и strerr, это не проблема.

Однако для интернов, единственный эффект в обоих случаях: вывод не стал и был перенаправлен в файл.

То, что я ищу, является командой, которая производит обоих, регулярный вывод (stdout) и вывод ошибок (stderr). Тем путем мы можем использовать > перенаправить только часть вывода, 2> перенаправить другую часть или обоих для получения 2 файлов.

Команда должна быть довольно простой и не включить слишком много подготовки. Чем больше подготовки, тем более вероятно, что они получат что-то не так.

0
задан 20 February 2020 в 16:47

1 ответ

Я использовал бы что-то как

ls file not-a-file

где file существует в текущем каталоге и not-a-file не делает. Очевидно, Вы могли занять место ls для любой другой простой команды, которая берет аргументы имени файла.

2
ответ дан 20 February 2020 в 22:47

Другие вопросы по тегам:

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