
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 eina
return
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/