Я ищу способ заставить следующий псевдоним работать на любое имя файла.
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'
Нет, Вы не можете сделать той оболочки использования псевдонимы. Необходимо использовать функцию.
Вот простая функция, чтобы сделать задание:
dim() {
cd /home/jason/Documents
vim "$1"
cd
}
функция dim
возьмет имя файла в качестве аргумента. Можно поместить этот фрагмент кода в конце Вашего ~/.bashrc
файл и затем выполнить его как:
dim file.txt
Замена file.txt
с любым именем файла Вы хотите.
Для выполнения его от текущей сессии оболочки, source
~/.bashrc
файл сначала:
. ~/.bashrc
Не с псевдонимами, используйте функции вместо этого.
От страница справочника Bash:
ПСЕВДОНИМЫ
[...] нет никакого механизма для использования аргументов в тексте замены. Если аргументы необходимы, функция оболочки должна использоваться (см. ФУНКЦИИ ниже).
, Таким образом, Ваша функция могла быть:
тусклая функция () {CD ~jason/Documents; $ энергии*; CD-;}