Как я могу проверить мой bashrc, если уже был установлен псевдоним?
Как я могу проверить мой bashrc, если уже был установлен псевдоним.
Когда я создаю файл bashrc, у которого есть имя функции, скажем, весело, а моя текущая среда также имеет псевдоним.
Я попробовал unalias fun, но это даст мне ошибку, которая не получится, если моя среда уже не будет иметь этот псевдоним.
Итак, в моем bashrc, в моей функции fun, я хочу проверить, был ли установлен псевдоним, а затем unalias, который.
Ответы
Ответ 1
Если вы просто хотите убедиться, что псевдоним не существует, просто удалите его и перенаправьте свою ошибку на /dev/null, как это:
unalias foo 2>/dev/null
Вы можете проверить, установлен ли псевдоним таким образом:
alias foo 2>/dev/null >/dev/null && echo "foo is set as an alias"
Как указано в man-странице:
For each name in the argument list for which no value is sup-
plied, the name and value of the alias is printed. Alias
returns true unless a name is given for which no alias has been
defined.
Ответ 2
Просто используйте команду alias
как
alias | grep my_previous_alias
Обратите внимание, что вы действительно можете использовать unalias
, чтобы вы могли сделать что-то вроде
[ `alias | grep my_previous_alias | wc -l` != 0 ] && unalias my_previous_alias
Это приведет к удалению псевдонима, если он был установлен.
Ответ 3
Вы можете использовать type
, чтобы увидеть, существует ли команда или нет или нет.
Он вернет статус ошибки, если команда не найдена.
Например, я определяю следующий псевдоним:
$ alias foo="printf"
Затем проверьте следующие сценарии:
$ type foo >/dev/null && echo Command found. || echo Command not found.
Command found.
или специально для псевдонима:
$ alias foo && echo Alias exists || echo Alias does not exist.
или проверить, является ли это псевдоним или регулярная команда:
$ grep alias <(type foo) && echo It is alias. || echo It is not.
Чтобы проверить, определен ли псевдоним в ваших rc файлах, его необходимо проверить вручную, например. по:
[ "$(grep '^alias foo=' ~/.bash* ~/.profile /etc/bash* /etc/profile)" ] && echo Exists. || echo Not there.
Ответ 4
Хорошее bash -специальное решение для проверки псевдонимов использует массив BASH_ALIASES, например:
$ echo ${BASH_ALIASES[ls]}
Ответ 5
Для упрощения создания файла bashrc вы можете использовать следующее:
- Убедитесь, что существует псевдоним.
- Унифицирует его.
- Определите функцию
alias fun=''
unalias fun
fun ()
{
# Define the body of fun()
}