Создание собственных команд с помощью alias
А теперь проведем первый опыт по программированию! У нас есть возможность создавать собственные команды с помощью команды alias. Но прежде чем начать, познакомимся с одной маленькой хитростью командной строки. Она позволяет уместить в одной строке несколько команд, для чего нужно просто отделить их друг от друга точкой с запятой:
>команда1; команда2; команда3...
Следующий пример демонстрирует этот прием:
>[me@linuxbox ~]$ cd /usr; ls; cd -
>bin games kerberos lib64 local share tmp
>etc include lib libexec sbin src
>/home/me
>[me@linuxbox ~]$
Как видите, мы поместили три команды в одну строку. Первая выполняет переход в каталог /usr, вторая выводит его содержимое, и третья осуществляет возврат в предыдущий каталог (команда cd -), поэтому по завершении мы оказываемся там же, где и были. Давайте теперь с помощью alias превратим эту последовательность в новую команду. Первое, что мы должны сделать, — придумать имя для новой команды. Пусть это будет test. Но прежде чем продолжить, хорошо бы проверить, не занято ли уже имя test. Для этого воспользуемся командой type:
>[me@linuxbox ~]$ type test
>test встроена в оболочку
>Ой! Имя test уже занято. Попробуем foo:
>[me@linuxbox ~]$ type foo
>bash: type: foo: не найден
Отлично! Имя foo свободно. Теперь создадим наш псевдоним:
>[me@linuxbox ~]$ alias foo='cd /usr; ls; cd -'
Обратите внимание на структуру этой команды:
>alias имя='строка'
За командой alias следует имя, сразу за которым (то есть без пробелов) следует знак «равно» и строка в кавычках, описывающая действие, присваиваемое имени. После определения псевдонима его можно подставлять везде вместо команды.
Давайте попробуем:
>[me@linuxbox ~]$ foo
>bin games kerberos lib64 local share tmp
>etc include lib libexec sbin src
>/home/me
>[me@linuxbox ~]$
Тип псевдонима определяется с помощью команды type:
>[me@linuxbox ~]$ type foo
>foo является алиасом для `cd /usr; ls; cd -'