Есть ли способ заменить псевдонимы так, чтобы они добавлялись или добавлялись к существующей команде в оболочке?
Например, определение псевдонима:
alias execloc='/home/user/'
Добавление этого к команде в терминале bash:
cd exeloc/temp/somefolder
Может ли что-то подобное быть сделано или Есть ли способ сделать это?
Вы не можете сделать этого как это потому что /home/user/
не команда. It't больше как статическая строка.
От man bash
(где-нибудь в строке 1984):
Псевдонимы позволяют строке быть замененной слово, когда это используется в качестве первого слова простой команды.
В Вашем случае, execloc
никогда не будет первое слово простой команды.
Но, вместо этого для определения execloc
как псевдоним, можно определить его как переменную среды:
export execloc='/home/user/'
И затем можно использовать его везде, Вы хотите следующим образом:
cd $exeloc/temp/somefolder
Я не думаю так с bash / dash, но я могу ошибаться. Я думаю, что это возможно с помощью 'zsh' (псевдоним -g foo = 'bar').
Но есть и другие возможности.
Если вам нужны более удобные команды «cd», вы можете использовать CDPATH (Google google). Или используйте символические ссылки или жесткие ссылки (man ln).
Или измените / создайте ~ / .inputrc с помощью строки вроде:
Control-f: "grep -r -i. \ E [D \ e [D \ e [D"
] 116] Это набирает команду grep для меня, а затем возвращает перед точкой, чтобы я мог набрать ctrl-f и затем слово, которое я ищу.
Вы можете сделать это (если я правильно прочитал ваш вопрос) следующим образом:
export EXECLOG = / home / user
cd $ EXECLOG / temp / somefolder
blockquote>В основном настройте свои замены в оболочке и получите к ним доступ, поставив перед ними префикс со знаком «$». Стандартные переменные оболочки.
(выход для исправления опечатки в EXECLOG)