Онлайн робочі станції OnWorks Linux та Windows

логотип

Безкоштовний онлайн-хостинг для робочих станцій

<Попередній | зміст | Наступна>

Переспрямування стандартного виводу та стандартної помилки в один файл

Існують випадки, коли ми можемо захотіти записати весь вихід команди в один файл. Для цього ми повинні одночасно перенаправити стандартний вихід і стандартну помилку. Це можна зробити двома способами. По-перше, традиційний спосіб, який працює зі старими версіями оболонки:



[me@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1

[me@linuxbox ~]$ ls -l /bin/usr > ls-output.txt 2>&1


Використовуючи цей метод, ми виконуємо два перенаправлення. Спочатку ми перенаправляємо стандартний вихід у файл ls-вихід.txt а потім ми перенаправляємо дескриптор файлу 2 (стандартна помилка) на дескриптор файлу XNUMX (стандартний вихід), використовуючи позначення 2> & 1.


зображення

Зверніть увагу, що порядок перенаправлень є важливим. Перенаправлення стандартної помилки має відбуватися завжди після перенаправлення стандартного виводу або він не працює. У наведеному вище прикладі


>ls-output.txt 2>&1


перенаправляє стандартну помилку до файлу ls-вихід.txt, але якщо порядок змінено на


2>&1 >ls-output.txt


стандартна помилка спрямована на екран.


зображення

Останні версії бити надайте другий, більш спрощений метод виконання цього

Стандартна помилка переспрямування


комбіноване перенаправлення:



[me@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt

[me@linuxbox ~]$ ls -l /bin/usr &> ls-output.txt


У цьому прикладі ми використовуємо єдине позначення &> щоб перенаправити стандартний вихід і стандартну помилку до файлу ls-вихід.txt. Ви також можете додати стандартний вихід і стандартні потоки помилок до одного файлу так:



[me@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt

[me@linuxbox ~]$ ls -l /bin/usr &>> ls-output.txt


Найпопулярніші хмарні обчислення ОС на OnWorks: