Командная строка: echo
выводим текст в терминал с помощью echo
Команда echo
выполняет всего лишь одну простую задачу. Она выводит на экран (а точнее в исходящий поток данных) переданный ей аргумент.
Например:
echo "Hello"
Такая команда, выведет в окне терминальной сессии сообщение:
Hello
Исходящий поток данных можно не только вывести на экран, но и отправить в файл:
echo "Hello" >> output.txt
В строку, передаваемую в качестве аргумента, можно помещать переменные:
echo "The path variable is: $PATH"
Приведенная выше команда выведет на экран:
The path variable is: /usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Следует помнить, что, передаваемые в строке аргумента, специальные символы должны быть экранированы обратным слэшем \
:
~ % echo "The cost is $10"
The cost is
~ % echo "The cost is \$10"
The cost is $10
Однако, это не все. Команда echo
может взаимодействовать с оболочкой, предоставляя пользователю несколько интересных возможностей.
Так, с помощью аргумента *
можно получить список файлов текущей директории:
echo *
Кроме того, можно вывести файлы и папки, начинающиеся на определенную букву:
echo D*
Такая команда выведет только файлы и папки, названия которых начинаются на D
:
Desktop Documents Downloads
Любая команда или функция терминальной оболчки может быть выведена с помощью команды echo
.
Например, можно получить путь к домашней директории:
echo ~
/Users/george75
С помощью echo
можно запускать команды и выводить их результат на экран или в файл:
echo $(ls -al)
total 2128640 drwxr-xr-x+ 52 george75 staff 1664 10 май 18:51 . drwxr-xr-x 5 root admin 160 5 дек 2019 ..
К сожалению, синтаксис, приведенный выше, не позволит сохранить форматирование текста и результат будет выведен в одну строку. Но, обернув команду в двойные кавычки "
можно получить хорошо читаемый результат:
echo "$(ls -al)"
total 2128640
drwxr-xr-x+ 52 george75 staff 1664 10 май 18:51 .
drwxr-xr-x 5 root admin 160 5 дек 2019 ..
Еще команда echo
позволяет создавать списки:
echo {1..5}
1 2 3 4 5
Спасибо за внимание.