Действительно ли возможно сделать тестовые псевдонимы?

Я ищу способ заставить следующий псевдоним работать на любое имя файла.

alias dim='cd /home/jason/Documents; vim *the desired file*; cd'

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

dim *the desired file*

И все еще получите тот же результат. В основном есть ли способ назвать то независимо от того, что вводится после имени псевдонима в сам псевдоним? Что-то как:

alias dim='cd /home/jason/Documents; vim <what is typed after alias>; cd'
8
задан 4 July 2015 в 19:13

2 ответа

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

Вот простая функция, чтобы сделать задание:

dim() {
cd /home/jason/Documents
vim "$1"
cd
}

функция dim возьмет имя файла в качестве аргумента. Можно поместить этот фрагмент кода в конце Вашего ~/.bashrc файл и затем выполнить его как:

dim file.txt

Замена file.txt с любым именем файла Вы хотите.

Для выполнения его от текущей сессии оболочки, source ~/.bashrc файл сначала:

. ~/.bashrc
8
ответ дан 23 November 2019 в 05:35

Не с псевдонимами, используйте функции вместо этого.

От страница справочника Bash:

ПСЕВДОНИМЫ

[...] нет никакого механизма для использования аргументов в тексте замены. Если аргументы необходимы, функция оболочки должна использоваться (см. ФУНКЦИИ ниже).

, Таким образом, Ваша функция могла быть:

тусклая функция () {CD ~jason/Documents; $ энергии*; CD-;}

3
ответ дан 23 November 2019 в 05:35

Другие вопросы по тегам:

Похожие вопросы: