Linux вывести сообщение пользователю

Команда Echo в Linux с примерами

Команда echo — одна из самых основных и часто используемых команд в Linux. Аргументы, переданные в echo выводятся на стандартный вывод.

echo обычно используется в сценариях оболочки для отображения сообщения или вывода результатов других команд.

эхо-команда

echo — это оболочка, встроенная в Bash и большинство других популярных оболочек, таких как Zsh и Ksh. Его поведение немного отличается от оболочки к оболочке.

Существует также отдельная утилита /usr/bin/echo , но обычно встроенная версия оболочки имеет приоритет. Мы рассмотрим встроенную в Bash версию echo .

Синтаксис команды echo следующий:

  • Когда используется опция -n , завершающий символ новой строки подавляется.
  • Если задана опция -e будут интерпретироваться следующие символы, экранированные обратной косой чертой:
    • \ — отображает обратную косую черту.
    • a — Предупреждение (BEL)
    • b — отображает символ возврата.
    • c — подавить любой дальнейший вывод
    • e — отображает escape-символ.
    • f — отображает символ перевода страницы.
    • n — отображает новую строку.
    • r — отображает возврат каретки.
    • t — отображает горизонтальную вкладку.
    • v — отображает вертикальную вкладку.

    При использовании команды echo следует учитывать несколько моментов.

    • Оболочка заменит все переменные, сопоставление подстановочных знаков и специальные символы перед передачей аргументов команде echo .
    • Хотя это и не обязательно, рекомендуется заключать аргументы, передаваемые в echo в двойные или одинарные кавычки.
    • При использовании одинарных кавычек » буквальное значение каждого символа, заключенного в кавычки, будет сохранено. Переменные и команды расширяться не будут.

    echo Примеры

    В следующих примерах показано, как использовать команду echo:

      Вывести строку текста на стандартный вывод.

    echo -e "You know nothing, Jon Snow.nt- Ygritte"
    You know nothing, Jon Snow. - Ygritte
    echo The PHP files are: *.php
    The PHP files are: index.php contact.php functions.php
    echo -e 'The only true wisdom is in knowing you know nothing.nSocrates' >> /tmp/file.txt

    Если файл file.txt не существует, команда создаст его. При использовании > файл будет перезаписан, а символ >> добавит вывод в файл . Используйте команду cat для просмотра содержимого файла:

    The only true wisdom is in knowing you know nothing. Socrates
    echo -e "33[1;37mWHITE" echo -e "33[0;30mBLACK" echo -e "33[0;34mBLUE" echo -e "33[0;32mGREEN" echo -e "33[0;36mCYAN" echo -e "33[0;31mRED" echo -e "33[0;35mPURPLE" echo -e "33[0;33mYELLOW" echo -e "33[1;30mGRAY" 

    Выводы

    К настоящему времени вы должны хорошо понимать, как работает команда echo .

    Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

    Источник

    Команда write в Linux

    В Linux команда write создаёт линию связи между двумя авторизованными пользователями через терминал, позволяя отправлять сообщения в режиме реального времени.

    Примеры использования команды write в Linux

    Синтаксис

    Параметр user является обязательным и представляет имя пользователя принимающей стороны. Указание ttyname необходимо в случае нескольких открытых терминалов.

    Использование команды write в Linux

    Предварительная подготовка

    Для команды write требуются как минимум два пользователя, вошедших в систему через сеанс pts (псевдо-терминал) или tty (телетайп).

    Так как у меня второго пользователя нет, то я его создаю с именем ivan :

    oleg@mobile:~$ sudo su root@mobile:/home/oleg# adduser ivan Добавляется пользователь «ivan» . Добавляется новая группа «ivan» (1001) . Добавляется новый пользователь «ivan» (1001) в группу «ivan» . Создаётся домашний каталог «/home/ivan» . Копирование файлов из «/etc/skel» . Новый пароль : Повторите ввод нового пароля : passwd: пароль успешно обновлён Изменение информации о пользователе ivan Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя []: Номер комнаты []: Рабочий телефон []: Домашний телефон []: Другое []: Данная информация корректна? [Y/n] y root@mobile:/home/oleg# 

    Добавляю пользователя ivan в группу sudo:

    root@mobile:/home/oleg# usermod -aG sudo ivan root@mobile:/home/oleg# 

    Проверяю доступность разрешений sudo , переключившись командой su на учётную запись пользователя ivan :

    oleg@mobile:~$ sudo su ivan ivan@mobile:/home/oleg$ cd ivan@mobile:~$ 

    Теперь пользователь ivan , используя sudo , сможет запускать команды с привилегиями суперпользователя:

    ivan@mobile:~$ sudo ls -l /root итого 4 drwxr-xr-x 3 root root 4096 авг 17 2021 snap ivan@mobile:~$

    Конечно при работе в реальной многопользовательской среде подобная предварительная подготовка не требуется.

    Разрешение на запись

    Для связи с другим пользователем oleg получает разрешение на запись с помощью mesg y :

    oleg@mobile:~$ mesg y oleg@mobile:~$

    Пользователь ivan также получает разрешение на запись:

    ivan@mobile:~$ mesg y ivan@mobile:~$

    Вход в терминальный сеанс

    При работе на одном компьютере с двумя разными пользователями каждый пользователь запускает команду в своём терминальном сеансе и указывает своё имя пользователя.

    Команда предлагает ввести sudo и пароль пользователя для продолжения.

    Пользователь oleg входит в терминальный сеанс:

    oleg@mobile:~$ sudo login oleg Пароль: Welcome to Ubuntu 20.04.6 LTS (GNU/Linux 5.15.0-58-generic x86_64) . oleg@mobile:~$ 

    То же самое выполняет и пользователь ivan :

    ivan@mobile:~$ sudo login ivan Пароль: . ivan@mobile:~$ 

    Чтобы проверить, кто вошёл в систему, используется команда w в любом терминале:

    oleg@mobile:~$ w 17:51:14 up 14 min, 3 users, load average: 0,28, 0,39, 0,50 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT oleg :0 :0 17:38 ?xdm? 1:33 0.00s /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_M oleg pts/0 - 17:47 1.00s 0.12s 0.00s w ivan pts/2 - 17:49 2:05 0.14s 0.05s -bash oleg@mobile:~$ 

    Вывод показывает, что пользователи oleg и ivan вошли в систему через консоль pts . Кроме этого пользователь oleg предварительно вошёл в систему через локальный дисплей (GUI). Он же выполнил команду login для обоих пользователей.

    Создание сообщения

    Чтобы написать сообщение другому пользователю с помощью команды write выполняются следующие действия:

    Запускаем утилиту и указываем пользователя:

    Команда ожидает входное сообщение. На принимающей стороне пользователь получает подтверждение о соединении со следующей информацией:

    ivan@mobile:~$ Message from oleg@mobile on pts/0 at 17:56 . 

    Пользователь oleg набирает текст сообщения и нажимает Enter для перехода на новую строку:

    oleg@mobile:~$ Message from oleg@mobile on pts/0 at 18:03 . write oleg Hi, how are you? write ivan Would you like to drink some beer now?

    Сообщение появляется на принимающей стороне в режиме реального времени и пользователь ivan отвечает:

    ivan@mobile:~$ Message from oleg@mobile on pts/0 at 18:03 . write oleg Hi, how are you? write ivan Would you like to drink some beer? write oleg Yes, of course. o 

    Пользователь oleg завершает работу, набрав oo и нажав CTRL + D:

    oleg@mobile:~$ write ivan Message from ivan@mobile on pts/2 at 18:03 . Hi, how are you? write ivan Would you like to drink some beer now? write oleg Yes, of course. o write oo oleg@mobile:~$ 

    Пользователь ivan получает сообщение об окончании сеанса и бежит к Олегу:

    ivan@mobile:~$ EOF Message from oleg@mobile on pts/0 at 18:03 . write oleg Hi, how are you? write ivan Would you like to drink some beer now? write oleg Yes, of course. o write oo EOF

    Поскольку не существует надлежащего способа отличить, когда пользователь заканчивает сообщение, традиционный способ завершения оператора — это символ o . Чтобы сигнализировать об окончании разговора, напишите oo . Завершите работу, нажатием CTRL + D.

    Сообщение с помощью команды echo

    С использованием команды echo можно ввести сообщение и передать команду write :

    oleg@mobile:~$ echo "Hello from oleg" | write ivan

    Канал связи немедленно заканчивается для отправителя, а получатель принимает сообщение и ожидает завершения.

    Сообщение из файла

    Для отправки сообщения из текстового файла создаётся текстовый файл:

    Содержимое файла отправляется с помощью команды следующим образом:

    oleg@mobile:~$ echo "Hello from oleg" | write ivan < beer.txt

    Сообщение на определённый терминал

    Когда у пользователя открыто несколько терминальных сеансов, утилита выбирает терминал с наименьшим временем простоя.

    Используйте эту утилиту для проверки имени tty и времени простоя.

    Чтобы указать, на какой tty отправлять сообщения, запустите:

    ivan@mobile:~$ write oleg pts/0

    Сообщения поступят только на pts/0 .

    Заключение

    Изучив в этой небольшой статье примеры использования команду write в Linux вы сможете использовать её в своей работе. Вы уже убедились в том, что это несложно.

    Источник

    Читайте также:  Vbox общие папки linux
Оцените статью
Adblock
detector