Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Как передать переменную в alias  (Прочитано 772 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн jeysmook

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Как передать переменную в alias
« : 18 Октябрь 2014, 12:45:04 »
Здравствуйте. Подскажите как передать переменную в alias:
Мне нужно сделать команду, которая бы создавала новую папку и тут же преходила в нее. Вопрос стоит в том, что я не знаю как передать переменную в строку alias, подскажите пожалуйста?

alias mkd='mkdir var(name) && cd var(name)'
# var(name) - это имя новой папки, или путь с именем

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как передать переменную в alias
« Ответ #1 : 18 Октябрь 2014, 12:55:15 »
Alias не позволяет передавать переменные.
См. Functions manual

Код: Bash
  1. #!/bin/bash
  2.  
  3. function mkcd {
  4.     mkdir $1 && cd $1
  5. }
  6.  
  7.  

Можно перенести объявление в ~/.bashrc или подключить там же внешний файл: source ./functions.sh
Для того чтобы данная функция mkcd была доступна по умолчанию.

Код: Bash
  1. mkcd ~/somedir
  2.  
« Последнее редактирование: 18 Октябрь 2014, 14:33:45 от .ubuntufan »

Оффлайн jeysmook

  • Автор темы
  • Новичок
  • *
  • Сообщений: 29
    • Просмотр профиля
Re: Как передать переменную в alias
« Ответ #2 : 18 Октябрь 2014, 12:57:22 »
.ubuntufan, спасибо большое, не знал даже с чего копать, буду в курсе)

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Как передать переменную в alias
« Ответ #3 : 18 Октябрь 2014, 14:22:25 »
mkcd "~/somedir"
Экранировать тильду нельзя, иначе код не сработает.

Оффлайн .ubuntufan

  • Активист
  • *
  • Сообщений: 638
    • Просмотр профиля
Re: Как передать переменную в alias
« Ответ #4 : 18 Октябрь 2014, 14:33:18 »
ArcFi,
ок, поправил

 

Страница сгенерирована за 0.113 секунд. Запросов: 24.