Что обозначает аргумент linux

Обновлено: 30.06.2024

Большинство команд, используемых в Bash, могут отдаваться как одним словом, так и предполагать после себя какие-либо уточняющие параметры.

Мы будем называть параметрами все, что идет после команды. При этом делить параметры на ключи и аргументы. Ключами будем называть то, чему обычно предшествует один или два знака минуса. Ключи, если присутствуют, ставятся перед аргументами. У команды могут быть как ключи, так и аргументы, так и только ключи или только аргументы.

Обычно аргументы – это то, над чем выполняется команда. Например, команда перехода в другую директорию должна получить в качестве аргумента имя каталога, куда следует перейти. Команде вывода на экран содержимого файла надо передать имя файла.

Ключи модифицируют, как бы видоизменяют работу программы. Например, с помощью команды просмотра содержимого каталога можно вывести простой список вложенных объектов. Используя же определенный ключ, можно получить подробные сведения о каждом файле и папке.

Рассмотрим использование параметров на примере команды ncal, которая выводит на экран календарь. Без параметров она выведет календарь на текущий месяц.

Если мы хотим увидеть календарь за другой месяц, следует передать программе ncal два аргумента: месяц и год.

Если указать только один аргумент, то будет считаться, что передается только год. Будет выведен календарь на целый год.

С помощью ключа -b можно перевернуть календарь на 90 градусов. Понятно, что аргументы могут быть как указаны или нет. В последнем случае получится перевернутый календарь на текущий месяц.

У команд может быть множество ключей. Их можно комбинировать.

В данном случае используется два ключа. Ключ -w приказывает ncal выводить кроме прочего номера недель года. На скриншоте выше ключи записаны вместе. Однако можно было дать команду так: ncal -b -w .

Опция не всегда обозначается маленькой буквой. Бывают ключи, обозначаемые заглавной буквой или словом. В случае слова используется два знака минуса, чтобы Bash понимал, что перед ним не перечень подряд идущих ключей, а только один. В примере ниже опции -V и --version программы python3 делают одно и тоже – выводят версию интерпретатора.

Существуют команды, которые не имеют смысла без аргументов, то есть для них не задано поведение "по-умолчанию". Например, команда sleep, заставляющая bash выполнить задержку перед следующей командой. Время можно указывать в секундах, минутах и др.

Отметим, что понятия "команда", "параметр", "ключ", "аргумент" не являются каким-либо стандартом. В терминологии Bash ключи также называют опциями, аргументы – операндами, то есть тем, над чем выполняется команда.

Однако с точки зрения программирования все, что содержит строка команды, это аргументы. Введенная строка передается программе целиком, где "разрезается" на отдельные слова, которые помещаются в массив, первый элемент которого – имя вызываемой программы. Далее программа так или иначе обрабатывает аргументы, если предполагает работу с ними.

Объясните, что делает команда echo. По результату выполнения echo -e "one\ntwo\tthree" объясните назначение ключа -e.

Курс с ответами к заданиям и дополнительными уроками:
android-приложение, pdf-версия.

В данной главе вашему вниманию представляется обзор механизма раскрытия команд командной оболочки (shell expansion), созданный в ходе подробного рассмотрения методик обработки команд и аргументов . Понимание принципа работы механизма раскрытия команд командной оболочки является важным ввиду того, что многие команды в вашей системе Linux подвергаются обработке и с высокой вероятностью последующей модификации средствами командной оболочки перед исполнением.

Интерфейс командной строки системы или командная оболочка , используемая в большинстве систем Linux, носит имя bash , которое расшифровывается как Bourne again shell (название "Born again shell" - "возрожденная командная оболочка" было изменено с целью упоминания автора оригинальной командной оболочки sh Стивена Борна). Командная оболочка bash реализует возможности командных оболочек sh (оригинальная командная оболочка Стивена Борна), csh (командная оболочка Билла Джоя с поддержкой сценариев, синтаксис которых основан на синтаксисе языка программирования C), а также ksh (командная оболочка Дэвида Корна).

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

Аргументы

Одной из важнейших возможностей командной оболочки является возможность обработки строк команд . При вводе команды после приглашения командной оболочки и нажатии клавиши Enter командная оболочка приступает к обработке строки команды, разделяя ее на аргументы . При обработке строки команды командная оболочка может внести множество изменений в переданные вами аргументы .

Данный процесс называется раскрытием команд командной оболочки . После того, как командная оболочка заканчивает обработку и модификацию переданной строки команды, будет осуществляться непосредственное исполнение результирующей команды.

Удаление пробелов

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

Это полностью объясняет эквивалентность следующих четырех команд после их раскрытия средствами командной оболочки .

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

Одинарные кавычки

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

Двойные кавычки

Вы также можете предотвратить удаление пробелов из строки команды, поместив ее в двойные кавычки. Как и в примере выше, команда echo примет только один аргумент .

Позднее при обсуждении переменных в рамках данной книги мы разберемся с важными различиями между одинарными и двойными кавычками.

Команда echo и кавычки

Строки, помещенные в кавычки, могут содержать специальные обозначения символов, идентифицируемые командной echo (в случае использования команды echo -e ). В примере ниже продемонстрирована методика использования обозначения символа \n для вставки символа переноса строки, а также обозначения символа \t для вставки символа табуляции (обычно эквивалентного восьми символам пробела).

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

Команды

Внешние или встроенные команды?

Не все исполняемые командной оболочкой команды являются внешними ; некоторые из них являются встроенными . Внешние команды реализованы в форме программ, представленных отдельными бинарными файлами, которые размещены в какой-либо директории файловой системы. Многие бинарные фалы, реализующие функции внешних команд, размещаются в директории /bin или /sbin . Встроенные команды являются неотъемлемой частью самого приложения командной оболочки.

Команда type

Для установления того, будет ли переданная командной оболочке команда исполнена как внешняя команда или как встроенная команда , следует использовать специальную команду type .

Как вы можете заметить, команда cd является встроенной , а команда cat - внешней .

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

Исполнение внешних команд

Некоторые команды имеют как встроенные, так и внешние реализации. В случае исполнения одной из таких команд приоритет отдается встроенной реализации. Для исполнения внешней реализации вам придется ввести полный путь к бинарному файлу, являющемуся реализацией данной команды.

Команда which

Команда which осуществляет поиск бинарных файлов в директории, заданной с помощью переменной окружения $PATH (переменные будут рассматриваться позднее). В примере ниже устанавливается, что cd является встроенной командой, а ls , cp , rm , mv , mkdir , pwd и which - внешними командами.

Псевдонимы команд

Создание псевдонима команды

Командная оболочка позволяет вам создавать псевдонимы команд ( aliases ). Псевдонимы команд обычно используются для создания лучше запоминающихся имен для существующих команд или для упрощения передачи параметров команд.

Сокращения команд

Команда создания псевдонима команды ( alias ) также может оказаться полезной в случае необходимости сокращения длины имени существующей команды.

Стандартные параметры команд

Псевдонимы команд могут использоваться для передачи командам стандартных параметров. Например, ниже показана методика передачи параметра -i по умолчанию при вводе команды rm .

В некоторых дистрибутивах используются стандартные псевдонимы команд для защиты пользователей от случайного удаления файлов ('rm -i', 'mv -i', 'cp -i').

Просмотр объявлений псевдонимов команд

Вы можете передать один или несколько псевдонимов команд в качестве аргументов команды alias для вывода их объявлений. Исполнение команды без аргументов приведет к выводу полного списка используемых на данный момент псевдонимов.

Команда unalias

Также вы можете прекратить использование псевдонима команды, воспользовавшись командой unalias .

Вывод информации о раскрытии команд командной оболочкой

Вы можете активировать режим вывода информации о раскрытии команд командной оболочкой с помощью команды set -x и остановить вывод этой информации с помощью команды set +x . У вас может возникнуть потребность в использовании данной возможности как при изучении данного курса, так и в случаях, когда возникают сомнения насчет того, как командная оболочка обрабатывает переданную вами команду.

Практическое задание: команды и аргументы

1. Сколько аргументов передается с помощью данной строки команды (не считая самой команды)

2. Является ли команда tac встроенной?

3. Существует ли действующий псевдоним команды rm ?

4. Прочитайте страницу руководства для команды rm и убедитесь в том, что вы поняли предназначение параметра -i этой команды. Создайте и удалите файл для проверки работоспособности параметра -i .

5. Выполните команду: alias rm='rm -i' . Проверьте работоспособность вашего псевдонима команды на тестовом файле. Работает ли он так, как ожидается?

6. Выведите список используемых на данный момент псевдонимов команд.

7a. Создайте псевдоним команды 'city', позволяющий вывести название вашего города.

7b. Используйте ваш псевдоним команды для того, чтобы убедиться в его работоспособности.

8. Выполните команду set -x для активации режима вывода информации о раскрытии каждой из команд командной оболочкой.

9. Проверьте работоспособность команды set -x , воспользовавшись созданными ранее псевдонимами команд city и rm .

10. Выполните команду set +x для прекращения вывода информации о раскрытии команд командной оболочкой.

11. Удалите созданный ранее псевдоним команды city.

12. В каких директориях расположены бинарные файлы, являющиеся реализациями команд cat и passwd ?

15. Выведите строку "A B C" с двумя пробелами между буквами B и C.

16 (Необязательное задание). Создайте команду (без использования символов пробелов) для формирования следующего вывода: 17. Используйте команду echo для формирования следующего вывода:

Найдите два решения с использованием одинарных кавычек, два решения с использованием двойных кавычек и одно решение без использования кавычек (и поблагодарите Rene и Darioush из компании Google за это дополнение).

18. Используйте одну команду echo для вывода трех слов в трех строках.

Корректная процедура выполнения практического задания: команды и аргументы

1. Сколько аргументов передается с помощью данной строки команды (не считая самой команды)

Ответ: три аргумента

2. Является ли команда tac встроенной?

3. Существует ли действующий псевдоним команды rm ?

4. Прочитайте страницу руководства для команды rm и убедитесь в том, что вы поняли предназначение параметра -i этой команды. Создайте и удалите файл для проверки работоспособности параметра -i .

5. Выполните команду: alias rm='rm -i' . Проверьте работоспособность вашего псевдонима команды на тестовом файле. Работает ли он так, как ожидается?

6. Выведите список используемых на данный момент псевдонимов команд.

7a. Создайте псевдоним команды 'city', позволяющий вывести название вашего города.

7b. Используйте ваш псевдоним команды для того, чтобы убедиться в его работоспособности.

8. Выполните команду set -x для активации режима вывода информации о раскрытии каждой из команд командной оболочкой.

9. Проверьте работоспособность команды set -x , воспользовавшись созданными ранее псевдонимами команд city и rm .

Командная оболочка должна вывести информацию о разрешении псевдонима, после чего выполнить команду:

10. Выполните команду set +x для прекращения вывода информации о раскрытии команд командной оболочкой.

11. Удалите созданный ранее псевдоним команды city.

12. В каких директориях расположены бинарные файлы, являющиеся реализациями команд cat и passwd ?

После интерпретации команды echo командной оболочкой будет задействована встроенная реализация команды echo . Ввод команды /bin/echo приведет к исполнению бинарного файла echo , расположенного в директории /bin .

Параметр -n команды echo предназначен для предотвращения вывода символа перехода на новую строку в конце переданной строки. Команда echo Hello выведет в общей сложности шесть символов, а команда echo -n Hello - только пять символов.

(Параметр -n может не работать в командной оболочке Korn shell).

15. Выведите строку "A B C" с двумя пробелами между буквами B и C.

16 (Необязательное задание). Создайте команду (без использования символов пробелов) для формирования следующего вывода: Решение заключается в использовании символов табуляции с помощью специального обозначения \t. 17. Используйте команду echo для формирования следующего вывода:

Найдите два решения с использованием одинарных кавычек, два решения с использованием двойных кавычек и одно решение без использования кавычек (и поблагодарите Rene и Darioush из компании Google за это дополнение).

Функциональность интерпретатора Bash позволяет работать не только со статистическими данными, записанными в скриптах. Иногда возникает необходимость добавить сценарию интерактивности, позволяя принимать внешние параметры скрипта для манипуляции ими в коде.

В этой статье будет рассмотрено, как принимать аргументы командной строки bash, способы его обработки, проверка опций, а также известные особенности при работе с ними.

Параметры скрипта Bash

Интерпретатор Bash присваивает специальным переменным все параметры, введённые в командной строке. В их состав включено название сценария, выполняемого интерпретатором. Такие переменные называются ещё числовыми переменными, так как в их названии содержится число:

Ниже приведён пример использования одного параметра скрипта Bash:

Результат работы кода:


Переменная $1 может использоваться в коде точно так же, как и любая другая. Скрипт автоматически присваивает ей значение из параметра командой строки — пользователю не нужно делать это вручную.

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

Пример работы кода:


Командный интерпретатор присвоил числа 5 и 10 соответствующим переменным — $1 и $2.

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

Пример работы кода:


На заметку: кавычки, которые используются при передаче параметров, обозначают начало и конец данных и не являются их частью.

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

Пример работы кода:


Получение названия скрипта Bash

Как уже упоминалось, имя сценария является самым первым параметром скрипта. Чтобы определить название программы, используется переменная $0. Такая необходимость возникает, например, при написании скрипта, который может выполнять несколько функций. Однако при этом возникает одна особенность, которую нужно учитывать на практике:

Пример работы кода:


Как видно, если строкой, фактически переданной в переменную $0, является весь путь к сценарию, то на вывод будет идти весь путь, а не только название программы.

Если нужен скрипт, выполняющий различные функции с учётом того, под каким именем он был вызван из командной строки, придётся проделать дополнительную работу: удалить сведения о пути, который использовался для его вызова.

Для этого специально предусмотрена небольшая команда. Команда basename возвращает только название скрипта без абсолютного или относительного пути к нему:

Результат работы кода:


Проверка параметров скрипта

Передача параметров Bash вынуждает соблюдать осторожность. Если сценарий написан с применением параметров, но запускается без них, то возникнут проблемы в работе программы.

Если попробовать запустить написанный ранее скрипт test2 без аргументов, то перед выводом команд echo будет отображена ошибка:


Чтобы предотвращать подобные ситуации, необходимо действовать на упреждение — проверять аргументы скрипта на наличие значений. Это настоятельная рекомендация при использовании параметров в командной строке, и только после ревизии стоит пускать их в дело:

Пример работы кода:


В данном случае использовалась опция -n из предыдущей статьи о сравнении строк в Bash для проверки на наличие значения в переменной, которая считала параметр.

Обработка неизветсного числа параметров

Для начала рассмотрим один из часто используемых инструментов при работе с параметрами Bash — команду shift. Её прямое назначение заключается в сдвиге параметров на одну позицию влево. Таким образом, значение из переменной $3 переместится в $2, а из $2 — в $1. Но из $1 значение просто отбросится и не сместится в $0, так как там неизменно хранится название запущенной программы.

Эта команда является эффективным способом обработки всех параметров, переданных сценарию, особенно, когда нельзя заранее узнать их количество. Достаточно лишь обработать $1, сделать сдвиг и повторить процедуру.

Пример работы кода:


Этот скрипт выполняет цикл while, в условии которого указана проверка первого параметра на длину. И если она равна нулю, цикл прерывает свою работу. При положительном результате проверки команда shift сдвигает все параметры влево на одну позицию.

Ещё один вариант использование shift — смещать на несколько позиций. Для этого достаточно через пробел указать количество, на которое будет смещён ряд параметров скрипта.

Пример работы скрипта:


На заметку: при использовании shift нужно быть осторожным, ведь сдвинутые за пределы $1 параметры не восстанавливаются в период работы программы.

Обработка опций в Bash

Помимо параметров скрипт может принимать опции — значения, состоящие из одной буквы, перед которыми пишется дефис. Рассмотрим 3 метода работы с ними в скриптах. Сперва кажется, что при работе с опциями не должно возникать каких-либо сложностей. Они должны быть заданы после имени запускаемой программы, как и параметры. При необходимости можно сделать обработку опций командной строки по такому же принципу, как это делается с параметрами.

По примеру выше можно применять shift для обработки простых опций. С помощью инструкции case можно определять, являются ли аргументы Bash опциями:

Пример работы программы:


Блок case работает правильно вне зависимости от того, как расположены аргументы командной строки bash.

Выводы

Для того, чтобы сделать свою программу более интерактивной, можно использовать параметры Bash. Встроенные переменные, в названиях которых фигурирует число, обозначают порядок указанных для программы параметров.

Команда basename используется для обрезания пути запущенного сценария, что часто необходимо для создания гибких программ. Использование команды shift позволяет эффективно проходить по переданным скрипту параметрам, особенно когда их количество неизвестно.

Favorite

Добавить в избранное

Главное меню » Linux » Аргументы командной строки в Linux

Аргументы командной строки в Linux

Использование переменных аргументов:

Переменная аргумента начинается с $ 0. Имя основного файла сценария хранится в $ 0, который получает значения аргументов из аргументов командной строки. Если в командной строке передаются два аргумента, то последовательно значения аргументов будут получены в переменных $ 1 и $ 2.

Пример 1: отправка трех числовых значений в аргументы командной строки

Создайте файл bash со следующим сценарием. Сценарий получит значения с тремя аргументами и сохранит их в переменных $ 1, $ 2 и $ 3. Он будет подсчитывать общее количество аргументов и выводить значения аргументов, используя цикл без цикла. Сумма всех значений аргументов будет напечатана позже.

Следующий вывод появится после выполнения файла сценария с тремя числовыми значениями аргументов: 50, 35 и 15.

Пример 2: использование имени файла в качестве аргумента

Создайте файл bash с помощью следующего сценария, чтобы подсчитать общее количество символов в любом файле. Здесь имя файла будет передано как аргумент командной строки.

Использование функции getopts:

Пример 3: Чтение аргументов функцией getopts

Создайте файл bash со следующим сценарием, чтобы понять использование функции getopts. Функция getopts используется с циклом while для чтения параметров аргументов командной строки и значений аргументов. Здесь используются 4 варианта: «i», «n», «m» и «e». оператор case используется для сопоставления конкретной опции и сохранения значения аргумента в переменной. Наконец, распечатайте значения переменной.

Пример 4: Чтение обычных аргументов и аргументов с помощью параметров getopts

Пример 5: Чтение значений аргументов командной строки без переменной

Создайте файл bash со следующим сценарием, чтобы прочитать значения аргументов без какой-либо переменной аргумента и вычислить сумму трех значений аргументов командной строки. Здесь в первых скобках используется «$@» для считывания всех значений аргументов в массив. Затем будет напечатана сумма первых трех значений массива.

В выводе появится после выполнения вышеуказанного сценария для значений аргументов 12, 20 и 90. Сумма этих чисел равна 122.

Заключение:

Здесь показаны способы предоставления значений аргументов командной строки без каких-либо параметров и с параметрами. Здесь также показан способ чтения значений аргументов командной строки без использования переменных. Мы надеемся, что эта статья поможет читателям правильно использовать значения аргументов командной строки в своих сценариях bash.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

На этом занятии мы рассмотрели расширение оболочки, внимательно изучив команды и аргументы. Знание расширения оболочки важно, потому что многие команды в вашей системе Linux обрабатываются и, скорее всего, изменяются оболочкой до их выполнения.

Интерфейс командной строки или оболочка, используемая в большинстве систем Linux, называется bash, что означает Bourne снова shell. Оболочка bash включает в себя элементы sh (исходная оболочка Bourne), csh (оболочка C) и ksh (оболочка Korn).

В этой главе часто используется команда echo для демонстрации функций оболочки. Команда echo очень проста: она повторяет ввод, который она получает.

аргументы

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

Этот процесс называется расширением оболочки. Когда оболочка закончит сканирование и изменение этой строки, она будет выполнена.

удаление пробелов

Части, разделенные одним или несколькими последовательными пробелами (или табуляциями), рассматриваются как отдельные аргументы, любые пробелы удаляются. Первый аргумент - это команда, которую нужно выполнить, остальные аргументы передаются команде. Оболочка эффективно разделяет вашу команду на один или несколько аргументов.

Это объясняет, почему следующие четыре разные командные строки одинаковы после расширения оболочки.

Команда echo отобразит каждый аргумент, полученный от оболочки. Команда echo также добавит новый пробел между полученными аргументами.

одинарные кавычки

Вы можете предотвратить удаление пробелов, заключив их в кавычки. Содержимое строки в кавычках рассматривается как один аргумент. На скриншоте ниже эхо получает только один аргумент.

двойные кавычки

Вы также можете предотвратить удаление пробелов, заключив их в двойные кавычки. То же, что и выше, echo получает только один аргумент.

Позже в этом уроке при обсуждении переменных мы увидим важные различия между одинарными и двойными кавычками.

эхо и цитаты

Строки в кавычках могут содержать специальные экранированные символы, распознаваемые командой echo (при использовании echo -e). На приведенном ниже снимке экрана показано, как использовать новую строку и вкладку (обычно восемь пробелов).

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

команды

внешние или встроенные команды?

Не все команды являются внешними по отношению к оболочке, некоторые встроены. Внешние команды - это программы, которые имеют свой собственный двоичный файл и находятся где-то в файловой системе. Многие внешние команды находятся в / bin или / sbin. Встроенные команды являются неотъемлемой частью самой программы оболочки.

тип

Чтобы узнать, будет ли команда, переданная оболочке, выполняться как внешняя команда или как встроенная команда, используйте команду type.

Как видите, команда cd встроена, а команда cat - внешняя.

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

запуск внешних команд

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

который

Команда which будет искать двоичные файлы в переменной окружения $ PATH (переменные будут объяснены позже). На приведенном ниже снимке экрана показано, что cd встроен, а ls, cp, rm, mv, mkdir, pwd и являются внешними командами.

псевдонимы

создать псевдоним

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

сокращать команды

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

параметры по умолчанию

Псевдонимы могут использоваться для предоставления командам параметров по умолчанию. В приведенном ниже примере показано, как установить параметр -i по умолчанию при вводе команды rm.

просмотр псевдонимов

Вы можете предоставить один или несколько псевдонимов в качестве аргументов команды alias, чтобы получить их определения. Отсутствие аргументов дает полный список текущих псевдонимов.

unalias

Вы можете отменить псевдоним с помощью команды unalias.

отображение расширения оболочки

Вы можете отобразить расширение оболочки с помощью set -x и прекратить его отображение с помощью set + x. Возможно, вы захотите использовать это далее в этом руководстве, или если у вас есть сомнения относительно того, что именно оболочка делает с вашей командой.

Упражнение, практика и решение:

1. Сколько аргументов в этой строке (не считая самой команды).

Код:

2. Является ли tac встроенной командой оболочки?

Код:

3. Существует ли псевдоним для rm?

Код:

4. Прочтите man-страницу rm, убедитесь, что вы понимаете опцию -i rm. Создайте и удалите файл для проверки опции -i.

Код:

Код:

6. Перечислите все текущие псевдонимы.

Код:

7. Создайте псевдоним «город», который повторяет ваш родной город.

Код:

8. Используйте свой псевдоним, чтобы проверить, что он работает.

Код:

9. Выполните set -x, чтобы отобразить расширение оболочки для каждой команды.

Код:

10. Проверьте функциональность set + x, выполнив псевдонимы вашего города и rm.

Код:

11. Выполните set + x, чтобы остановить отображение расширения оболочки.

Код:

12. Удалите псевдоним вашего города.

Код:

13. Каково расположение команд cat и passwd?

14. Объясните разницу между следующими командами:
эхо
/ Бен / эхо

Код:

15. Объясните разницу между следующими командами:
эхо привет
эхо -n привет

Код:

16. Покажите ABC с двумя пробелами между B и C.
(необязательный)

Код:

17. Выполните следующую команду (не используйте пробелы), чтобы отобразить точно так же, как показано ниже

Решение заключается в использовании вкладок с.

18. Используйте echo для точного отображения следующего:

Код:

19. Используйте одну команду echo для отображения трех слов в трех строках.

Читайте также: