Wie erstelle ich einen permanenten Alias, ohne auf die .bashrc-ähnliche Datei zuzugreifen?

Wie erstelle ich einen permanenten Alias, ohne auf die .bashrc-ähnliche Datei zuzugreifen?

Ich mag Bash-Aliase wirklich, es ärgert mich, dass ich jedes Mal, wenn ich einen neuen Alias ​​hinzufügen möchte, zwei Befehle eingeben muss:

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

Gibt es eine Möglichkeit, mit einem einzigen Befehl dauerhaft einen Alias ​​zu erstellen?

Antwort1

Hier ist mein Workaround, die Funktion palias(auch bekannt als permanenter Alias):

function palias ()  {

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

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

Antwort2

Meine „Zwei-Tastendruck-Lösung“ (ein Buchstabe und die Eingabetaste) besteht darin, diesen Alias ​​einzurichten:

alias a='. ~/.bash_aliases'

Wenn ich dann meine .bash_aliases-Datei aktualisiere, gebe ich einfach einareturn

Ein Schritt weiter besteht darin, sie mithilfe von GitHub maschinenübergreifend zu verwalten:

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!";}

Verwendung:bup [file] # file must be in ~, is usually a dot file]

Antwort3

Es gibt mehrere Dateien, die ausgeführt werden, wenn Sie sich bei Ihrer Shell anmelden, darunter ~/.bash_profile und möglicherweise ~/.bashrc und ~/.bash_aliases, wenn diese in Ihrer Datei ~/.bash_profile referenziert werden. Um bei jeder Anmeldung einen Alias ​​zur Verfügung zu haben, geben Sie einfach den Befehl, der den Alias ​​erstellt, in eine dieser Dateien ein.

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

verwandte Informationen