Перейдите к следующему слайду, нажав кнопку Вправо
Запуск команд с аргументами в терминалах Linux и Mac
Подготовлено онлайн-курсом
$ echo выводит переданный ей текст
выводит переданный ей текстecho
echo и некоторые другие команды
можно вызывать откуда угодно не используя ./Вызов команды
$ echo "тут будет текст с 'одинарными кавычками' "
тут будет текст с 'одинарными кавычками'
$ echo 'тут будет текст с "двойными кавычками" '
тут будет текст с "двойными кавычками"
$ echo "тут будет текст с \"двойными кавычками\" и с 'одинарными кавычками'"
тут будет текст с "двойными кавычками" и с 'одинарными кавычками'
# https://stackoverflow.com/a/28786747Кавычки
Что, если вы хотите передать команде аргумент в кавычках, внутри которых тоже будут кавычки?
$ type echo
echo is a shell builtin
$ type man
man is hashed (/usr/bin/man)
$ type toy-nginx
bash: type: toy-nginx: not found
type
type может подсказать вам, какие из них
встроены, а какие - нет.
Встроенные и закэшированные можно использовать
без указания пути до них.Определение типа команды
~projects$ ./toy-nginx
Веб сервер запущен....
~$ ./projects/toy-nginx
Веб сервер запущен...../команда
Некоторые команды нужно вызывать используя ./путь-до-команды
Точка - это текущая директория, а далее через / мы
указываем путь до файла.Вызов команды по пути в системе
$ echo Тут нет пробелов
Тут нет пробелов
$ echo Тут     много              пробелов
Тут много пробеловпробелы
Команды сами убирают лишние пробелы
$ echo Тут     много              пробелов
Тут много пробелов
$ echo 'Тут     много              пробелов'
Тут     много              пробеловпробелы
Кавычки помогают оставить пробелы на местах
$ echo Первая строка \nВторая строка
Первая строка
Вторая строкапереносы строк
Переносы строк можно сделать с помощью \n
~$ echo -n Этот текст прилипнет к следущей строке
Этот текст прилипнет к следущей строке~$ Аргументы
В данном случае мы вызвали команду echo c аргументом -n,
который убирает перенос строки в конце текста. Конкретно этот пример
выглядит странно, но в будущем аргументы вам очень понадобятся$ ls
website blog settings.txt shop
$ ls -a
.  .env    blog         shop
.. website settings.txtАргументы
В данном случае мы вызвали команду ls c аргументом -a,
который добавляет в вывод содержимого скрытые файлы,
которые обычно не показываются.$ ls -al
$ ls -a -lАргументы
Если вы хотите использовать сразу несколько аргументов - вы можете
перечислять сразу все после чёрточки, а можете передать по отдельности$ ./toy-nginx -h
Сообщение с описанием аргументов
$ ./toy-nginx --help
Сообщение с описанием аргументовПолная форма аргумента
У аргументов есть полные названия, например, в данном примере
мы по очереди применяем короткое название аргумента help,
а затем полное. Вывод получается одинаковым.$ ls --help
Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print C-style escapes for nongraphic characters
      --block-size=SIZE      scale sizes by SIZE before printing them; e.g.,
                               '--block-size=M' prints sizes in units of
                               1,048,576 bytes; see SIZE format below
...Аргументы
Просмотр списка аргументов
Создано для онлайн-курса https://dvmn.org