Печать на «стандартном выходе» и «стандартной ошибке»

Я озадачен некоторой терминологией, используемой в моей домашней работе:

Итак, как я понимаю, вопрос заключается в том, что я должен печатать echo , cat и т. Д., Которые я бы сделал с помощью команды echo , например

 echo echo echo cat echo ´!!´ 

Разве это означает, что «печатается на стандартном» ?. Я здесь, на правильном пути?

Тогда я не знаю, что подразумевается под «ничто не печатается при стандартной ошибке при вводе команды».

2 Solutions collect form web for “Печать на «стандартном выходе» и «стандартной ошибке»”

Я считаю, что вы должны интерпретировать эту домашнюю работу как означающую, что вам нужно вывести слово blotz, используя каждую из команд: echo , cat , ls , grep и !! в очереди.

Конечно, тривиальный случай – echo blotz .

Можно cat команда cat выводит содержимое файла. ( man cat может быть полезен здесь.) Ваша домашняя работа позволяет вам заранее подготовить файл для вывода, так что это должно быть очень просто.

Остальные подумают о достижении нужного результата.

В этом вопросе вам предлагается использовать каждый из списков команд и заставить эту команду печатать строку blotz и ничего больше. Если ваш учитель хочет напечатать новую blotz после каждого blotz (что непонятно из вашего вопроса), вы можете сделать следующее:

 $ echo "blotz" blotz $ echo "blotz" > file && cat file blotz $ touch blotz && ls blotz blotz $ echo blotz | grep b ## This might also include (invisible) color codes blotz $ echo blotz | grep --color=never b ## This one avoids the color codes blotz 

Использование !! сложнее, поскольку по умолчанию он также распечатает запуск команды. Например:

 $ blotz ## run blotz to get that saved as !! blotz: command not found $ echo !! ## print the value of !! echo blotz ## Unfortunately, this also prints the command being run. blotz 

Чтобы обойти это, вы можете создать небольшой скрипт:

 set -o histexpand set -o history blotz echo !! 

И затем запустите его так:

 $ bash foo.sh 2> /dev/null blotz 

Там может быть умный взлом для этого, используя подоболочки, но я не смог его найти.


Если ваш учитель даже не хочет новой строки, используйте вместо этого:

 $ echo -n "blotz" $ echo -n "blotz" > file && cat file $ touch blotz && ls blotz | tr -d $'\n' $ echo blotz | grep --color=never b | tr -d $'\n' 

И для !! сценарий:

 $ bash foo.sh 2> /dev/null | tr -d $'\n' 
  • Как обмануть команду в мысли, что ее выход идет на терминал
  • Подавлять сообщения о запуске на stdout?
  • Захват stdout из сеанса ssh на локальную машину
  • Вызовите фоновый процесс обратно на stdout
  • вывод скрипта Python не будет направлен в файл
  • Bash, если скрипт вызывается из терминала echo stdout в терминал, если из cron не выводит эхо-сигнал
  • Есть ли способ выполнить собственный бинарный файл из канала?
  • Перенаправление стандартного вывода и стандартная ошибка для одного файла
  • Как использовать stdin с тройником или другими типами труб или перенаправление выходов?
  • Перенаправление stdin с stdout в файл
  • Может ли запущенный скрипт идентифицировать контекст ведения журнала?
  • Interesting Posts

    Конвертировать PDF в другой размер страницы (Письмо США -> A4)

    Получить файл .cer из файла .pem

    Почему ядра Linux убивают процессы, когда у них 14 ГБ свободной памяти, и как это исправить?

    Менеджер сети Kali. Необходимо запустить NetworkManager?

    вставить файлы без разделителя

    Ядро APT-Pinning

    Проблемы с использованием возвышенного текста для редактирования командной строки в режиме ВП

    Сенсорная панель не реагирует на возобновление сна на Debian 8

    Сценарий для резервного копирования домашнего каталога, создающего сжатый файл tar в каталоге / var / local

    Почему я не могу удалить этот файл с правами root?

    Ограничить клиентов MPD

    Извлекать записи из файла в диапазоне от одной даты к другой

    .bash_logout или .zlogout не анализируется при автозапуске xserver непосредственно после входа на консоль

    Восстановить права доступа к файлам после копирования Windows

    Переключение слова в строку

    Linux и Unix - лучшая ОС в мире.