Как создать постоянный псевдоним без использования файла типа .bashrc?

Как создать постоянный псевдоним без использования файла типа .bashrc?

Мне очень нравятся псевдонимы bash, меня раздражает, что каждый раз, когда я хочу добавить новый псевдоним, мне приходится вводить две команды:

echo "alias \"short-cmd\"='long-command'" >> ~/.bash_aliases
source ~/.bash_aliases

Можно ли создать постоянный псевдоним с помощью одной команды?

решение1

Вот мой обходной путь, функция palias(она же постоянный псевдоним):

function palias ()  {

    if [ $# -ne "2" ] ; then
        error "Usage: palias short-alias \'long-alias\'"
        return
    fi

    alias $1="$2"
    alias $1 >> ~/.bash_aliases
}

решение2

Мое «решение с двумя нажатиями клавиш» (одна буква и клавиша возврата) заключается в настройке следующего псевдонима:

alias a='. ~/.bash_aliases'

Затем, всякий раз, когда я обновляю свой файл .bash_aliases, я просто набираюareturn

Следующий шаг — сохранение их на разных машинах с помощью github:

bup () { [ $# = 1 ] && { cp -v ~/$1 ~/Dropnot/setups; cd ~/Dropnot/setups; git fetch; git merge origin/master; git add $1; git commit -m"$1 update"; git push origin master; cp -v $1 ~; cd -; } || echo "Error - no filename passed!";}

Использование:bup [file] # file must be in ~, is usually a dot file]

решение3

Есть несколько файлов, которые запускаются при входе в оболочку, включая ~/.bash_profile и, возможно, ~/.bashrc и ~/.bash_aliases, если они указаны в файле ~/.bash_profile. Чтобы иметь псевдоним, доступный при каждом входе, просто поместите команду, которая создает псевдоним, в один из этих файлов.

http://shreevatsa.wordpress.com/2008/03/30/zshbash-startup-files-loading-order-bashrc-zshrc-etc/

Связанный контент