Ich bin unter OSX und muss so etwas alias blah="/usr/bin/blah"in eine Konfigurationsdatei einfügen, aber ich weiß nicht, wo sich die Konfigurationsdatei befindet.
Tangential ist dieser bestimmte Alias grundsätzlich redundant, es sei denn, Sie versuchen speziell, die PATHAuflösung der Shell für diesen bestimmten Befehl zu überschreiben . Wenn /usr/bines in Ihrem ist PATH(was es wirklich sein muss), dann blahläuft es von dort auch ohne diesen Alias einwandfrei, es sei denn, es gibt auch ein Wort /usr/local/bin/blahund /usr/local/binist vorher /usr/binin Ihrem, PATHaber Sie möchten es immer noch bevorzugen /usr/bin/blahund können es aus irgendeinem Grund nicht einfach entfernen oder umbenennen /usr/local/bin/blah.
Tripleee
Selbst dann ist dies eine zweifelhafte, hackige Lösung, die mit einem großen, fetten, hässlichen Kommentar mit einer Warnmeldung einhergehen sollte, die Ihnen sagt, wie dies Ihren wohlgeformten Unterbauch beißen wird, und einem weiteren Spruch "Ich habe es Ihnen gesagt" für jedes Mal, wenn dies geschah.
Tripleee
1
Für alle Automatisierungsliebhaber: Ich persönlich füge addAlias() { echo "alias $1='$2' " >> ~/.bash_profile mein bash_profile hinzu und beschaffe es dann und führe es aus addAlias hi 'echo "hi" '. Quell-Bash-Profil und Typ hi, um es zu sehen.
Devssh
Antworten:
268
Sie können ein aliasoder ein functionin Ihre Startskriptdatei einfügen. Normalerweise ist dies .bashrc, .bash_loginoder .profileDatei in Ihrem Home - Verzeichnis.
Da diese Dateien ausgeblendet sind, müssen Sie eine ls -aausführen, um sie aufzulisten. Wenn Sie keine haben, können Sie eine erstellen.
Wenn ich mich richtig erinnere, war die .bash_loginDatei nicht da , als ich meinen Mac gekauft hatte. Ich hatte es für mich zu schaffen , so dass ich setzen könnte prompt info, alias, functionsusw. drin.
Hier sind die Schritte, wenn Sie einen erstellen möchten:
Starten Sie das Terminal
Geben Sie ein cd ~/, um zu Ihrem Home-Ordner zu gelangen
Geben Sie ein touch .bash_profile, um Ihre neue Datei zu erstellen.
Bearbeiten Sie .bash_profilemit Ihrem bevorzugten Editor (oder geben Sie ihn einfach ein open -e .bash_profile, um ihn in TextEdit zu öffnen.
Geben Sie . .bash_profileneu zu laden .bash_profileund aktualisieren jede Alias Sie hinzufügen.
Super, danke @jaypal! Ist der Befehl source .bash_profileeine Alternative zu Schritt 5?
Ian Campbell
10
Ja, auf meinen OSX Mavericks gab es kein .bash_profilein meinem Home-Verzeichnis. Das Erstellen, Hinzufügen des Alias und anschließendes Initiieren mit dem . .bash_profileBefehl hat funktioniert.
Bradley Flood
1
.bash_profile funktioniert bei mir! :) .bashrc nicht auf El Capitan
Parth
5
Unter OSX .bash_profilefunktioniert El Capitan . Wenn es beim Öffnen eines Terminalfensters nicht automatisch geladen wird, liegt dies wahrscheinlich daran, dass es ohne ausführbare Berechtigung erstellt wurde. Dieser Befehl wird es beheben und es sollte automatisch für zukünftige Sitzungen geladen werden:chmod u+x .bash_profile
Mischinab
1
.bash_profile Profil ist gesperrt, wie kann ich diese Datei aktualisieren
amit gupta
31
Unter OS X möchten Sie ~ / .bash_profile verwenden. Dies liegt daran, dass Terminal.app standardmäßig für jedes neue Fenster eine Anmeldeshell öffnet.
Das ist verwirrt. Wenn Ihre Shell Bash ist, sind viele andere Antworten auf dieser Seite detaillierter und hilfreicher. Wenn Sie Zsh anstelle von Bash verwenden, sollten Sie source .zshrcam Ende natürlich die Änderungen laden, die Sie an Ihrer aktuell ausgeführten Shell-Instanz vorgenommen haben.
Tripleee
18
In meiner .bashrcDatei waren standardmäßig die folgenden Zeilen vorhanden:
# Alias definitions.# You may want to put all your additions into a separate file like# ~/.bash_aliases, instead of adding them here directly.# See /usr/share/doc/bash-doc/examples in the bash-doc package.if[-f ~/.bash_aliases ];then.~/.bash_aliasesfi
Daher ist auf meiner Plattform .bash_aliasesdie Datei, die standardmäßig für Aliase verwendet wird (und die, die ich verwende). Ich bin kein OS X-Benutzer, aber ich denke, wenn Sie Ihre .bashrcDatei öffnen , können Sie feststellen, welche Datei üblicherweise für Aliase auf Ihrer Plattform verwendet wird.
Wenn das Profil beim Öffnen eines Terminalfensters nicht automatisch geladen wird, fehlt wahrscheinlich die ausführbare Berechtigung. Dieser Befehl wird es beheben und sollte automatisch für zukünftige Sitzungen geladen werden:chmod u+x .bash_profile
Mischinab
1
@Mischinab Nein, die Datei muss nur lesbar sein, damit Bash sie als Konfigurationsdatei lesen kann. Es ausführbar zu machen ist technisch harmlos, aber unnötig. Ich würde es aus nichttechnischen Gründen entmutigen (Sie könnten sich und / oder andere verwirren).
Nach dem Hinzufügen eines Alias. Führen Sie 'source' in Ihrer '.bash_profile'-Datei aus. Beispiel: source ~ / .bash_profile (Befehl, der die Bash-Aliase aktiviert / neu lädt)
UIResponder
8
Es funktioniert für mich unter macOS Majave
Sie können einige einfache Schritte ausführen:
1) Terminal öffnen
2) sudo nano /.bash_profile
3) Fügen Sie Ihre Aliase als Beispiel hinzu:
# some aliases
alias ll='ls -alF'
alias la='ls -A'
alias eb="sudo nano ~/.bash_profile && source ~/.bash_profile"#docker aliases
alias d='docker'
alias dc='docker-compose'
alias dnax="docker rm $(docker ps -aq)"#git aliases
alias g='git'
alias new="git checkout -b"
alias last="git log -2"
alias gg='git status'
alias lg="git log --pretty=format:'%h was %an, %ar, message: %s' --graph"
alias nah="git reset --hard && git clean -df"
alias squash="git rebase -i HEAD~2"
Die Konfigurationsdatei für Skripte und Programme ist ~/.bashrcund die Konfigurationsdatei, die geladen wird, wenn Sie Terminal verwenden, ist ~/.bash_login.
Ich denke, der beste Weg ist, einfach alles dabei zu haben ~/.bashrc.
Geben Sie für Ihre spezielle Frage einfach ein (dies überschreibt alle vorhandenen ~ / .bashrc):
echo "alias blah=\"/usr/bin/blah\"">>~/.bashrc
in das Terminal und eine ~/.bashrcDatei wird mit Ihren neuen Alises erstellt. Danach bearbeiten Sie einfach die Datei, um neue Aliase, Funktionen, Einstellungen usw. hinzuzufügen.
Das Dollarzeichen ist hier nachdrücklich in keiner Weise notwendig, nützlich oder korrekt.
Tripleee
4
MacOS Catalina und höher
Apple hat gerade seine Standard-Shell auf zsh umgestellt , daher enthalten die Konfigurationsdateien ~/.zshenvund ~/.zshrc. Das ist genau so ~/.bashrc, aber für zsh. Bearbeiten Sie einfach die Datei und fügen Sie hinzu, was Sie benötigen. Es sollte jedes Mal bezogen werden, wenn Sie ein neues Terminalfenster öffnen:
nano ~/.zshenvalias py=python
Drücken Sie dann Strg + x, y und geben Sie zum Speichern ein.
Diese Datei scheint unabhängig davon ausgeführt zu werden (Login, Nicht-Login oder Skript), scheint also besser als die ~/.zshrcDatei zu sein.
High Sierra und früher
Die Standard-Shell ist bash, und Sie können die Datei bearbeiten ~/.bash_profileund Aliase hinzufügen:
nano ~/.bash_profilealias py=python
Dann Strg + x, y und Eingabe zum Speichern. Weitere Informationen zu diesen Konfigurationen finden Sie in diesem Beitrag . Es ist ein wenig besser , es mit Ihrem Alias einzurichten in ~/.bashrc, dann Quelle ~/.bashrcaus ~/.bash_profile. Darin ~/.bash_profilewürde dann aussehen:
1) Gehen Sie zum Teminal. open ~/.bashrc. Hinzufügen, falls nicht vorhanden
if[-f ~/.bash_aliases ];then.~/.bash_aliases
fi
2) open ~/.bash_aliases. Wenn nicht vorhanden:touch ~/.bash_aliases && open ~/.bash_aliases
3) Um einen neuen Alias hinzuzufügen,
bearbeiten Sie die .bash_aliasesDatei und starten Sie das Terminal neu oder drucken Sie source ~/.bash_aliases
- drucken Sie, echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliaseswo sich Ihr Alias befindet alias clr='clear'.
4) Zeile source ~/.bash_aliaseszur ~/.bash_profileDatei hinzufügen. Es muss Aliase in jeden Init des Terminals laden .
Um eine permanente Alias-Verknüpfung zu erstellen, legen Sie sie in der Datei .bash_profile ab und zeigen Sie die Datei .bashrc auf die Datei .bash_profile. Befolgen Sie diese Schritte (ich erstelle einen Alias-Befehl namens bnode, um babel transpiler auf ES6-Code auszuführen):
Gehen Sie zur Terminal-Eingabeaufforderung und geben Sie "cd" ein (dies bringt Sie zum Ausgangsverzeichnis. Hinweis: Obwohl sich Ihre Programmierdateien möglicherweise auf Ihrem "D: Laufwerk" befinden, befinden sich Ihre ".bash" -Dateien möglicherweise auf Ihrem "D: Laufwerk". C: Laufwerk ”)
Um den Speicherort des Home-Verzeichnisses anzuzeigen, geben Sie "pwd" ein (dies zeigt Ihnen den Pfad des Home-Verzeichnisses und wo sich die .bash-Dateien wahrscheinlich befinden).
Um alle Punkte "." Zu sehen. Geben Sie im Ausgangsverzeichnis "ls -la" ein (hier werden ALLE Dateien einschließlich versteckter Punktdateien angezeigt.)
Sie sehen 2 Dateien: ".bash_profile" und ".bashrc"
Öffnen Sie die .bashrc-Datei im VS Code Editor oder in Ihrer IDE und geben Sie in der ersten Zeile "source ~ / .bash_profile" ein (um die .bashrc-Datei auf .bash_profile zu verweisen).
Öffnen Sie die Datei .bash_profile im VS-Code-Editor und geben Sie "alias bnode = '. / Node_modules / .bin / babel-node'" ein (um eine permanente bnode-Verknüpfung zu erstellen, die als Bash-Befehl ausgeführt werden soll).
Speichern und schließen Sie beide Dateien
Öffnen Sie nun die Datei, die Sie ausführen möchten (index.js), öffnen Sie sie in der Terminal-Eingabeaufforderung und führen Sie die Datei mit dem Befehl "bnode index.js" aus.
Jetzt wird Ihre index.js-Datei ausgeführt, aber bevor Sie einen bnode-Alias in der .bash_profile-Datei erstellen, wird der Fehler "bash: bnode-Befehl nicht gefunden" angezeigt, und es werden keine ES6-Codes erkannt und Fehler ausgegeben.
PATH
Auflösung der Shell für diesen bestimmten Befehl zu überschreiben . Wenn/usr/bin
es in Ihrem istPATH
(was es wirklich sein muss), dannblah
läuft es von dort auch ohne diesen Alias einwandfrei, es sei denn, es gibt auch ein Wort/usr/local/bin/blah
und/usr/local/bin
ist vorher/usr/bin
in Ihrem,PATH
aber Sie möchten es immer noch bevorzugen/usr/bin/blah
und können es aus irgendeinem Grund nicht einfach entfernen oder umbenennen/usr/local/bin/blah
.addAlias() { echo "alias $1='$2' " >> ~/.bash_profile
mein bash_profile hinzu und beschaffe es dann und führe es ausaddAlias hi 'echo "hi" '
. Quell-Bash-Profil und Typhi
, um es zu sehen.Antworten:
Sie können ein
alias
oder einfunction
in Ihre Startskriptdatei einfügen. Normalerweise ist dies.bashrc
,.bash_login
oder.profile
Datei in Ihrem Home - Verzeichnis.Da diese Dateien ausgeblendet sind, müssen Sie eine
ls -a
ausführen, um sie aufzulisten. Wenn Sie keine haben, können Sie eine erstellen.Wenn ich mich richtig erinnere, war die
.bash_login
Datei nicht da , als ich meinen Mac gekauft hatte. Ich hatte es für mich zu schaffen , so dass ich setzen könnteprompt info
,alias
,functions
usw. drin.Hier sind die Schritte, wenn Sie einen erstellen möchten:
cd ~/
, um zu Ihrem Home-Ordner zu gelangentouch .bash_profile
, um Ihre neue Datei zu erstellen..bash_profile
mit Ihrem bevorzugten Editor (oder geben Sie ihn einfach einopen -e .bash_profile
, um ihn in TextEdit zu öffnen.. .bash_profile
neu zu laden.bash_profile
und aktualisieren jede Alias Sie hinzufügen.quelle
source .bash_profile
eine Alternative zu Schritt 5?.bash_profile
in meinem Home-Verzeichnis. Das Erstellen, Hinzufügen des Alias und anschließendes Initiieren mit dem. .bash_profile
Befehl hat funktioniert..bash_profile
funktioniert El Capitan . Wenn es beim Öffnen eines Terminalfensters nicht automatisch geladen wird, liegt dies wahrscheinlich daran, dass es ohne ausführbare Berechtigung erstellt wurde. Dieser Befehl wird es beheben und es sollte automatisch für zukünftige Sitzungen geladen werden:chmod u+x .bash_profile
Unter OS X möchten Sie ~ / .bash_profile verwenden. Dies liegt daran, dass Terminal.app standardmäßig für jedes neue Fenster eine Anmeldeshell öffnet.
Weitere Informationen zu den verschiedenen Konfigurationsdateien und deren Verwendung finden Sie hier: Was ist der Unterschied zwischen .bashrc, .bash_profile und .environment?
und in Bezug auf OSX hier: Über .bash_profile, .bashrc und wo sollte ein Alias geschrieben werden?
quelle
Ich öffne zshrc einfach mit sublime und bearbeite es.
Und füge dies auf erhaben hinzu:
Führen Sie dies im Terminal aus:
Getan.
quelle
source .zshrc
am Ende natürlich die Änderungen laden, die Sie an Ihrer aktuell ausgeführten Shell-Instanz vorgenommen haben.In meiner
.bashrc
Datei waren standardmäßig die folgenden Zeilen vorhanden:Daher ist auf meiner Plattform
.bash_aliases
die Datei, die standardmäßig für Aliase verwendet wird (und die, die ich verwende). Ich bin kein OS X-Benutzer, aber ich denke, wenn Sie Ihre.bashrc
Datei öffnen , können Sie feststellen, welche Datei üblicherweise für Aliase auf Ihrer Plattform verwendet wird.quelle
chmod u+x .bash_profile
Fügen Sie Folgendes hinzu:
Starten Sie schließlich Terminal neu.
quelle
Es funktioniert für mich unter macOS Majave
Sie können einige einfache Schritte ausführen:
1) Terminal öffnen
2)
sudo nano /.bash_profile
3) Fügen Sie Ihre Aliase als Beispiel hinzu:
4)
source /.bash_profile
Getan. Nutzen und genießen!
quelle
Die Konfigurationsdatei für Skripte und Programme ist
~/.bashrc
und die Konfigurationsdatei, die geladen wird, wenn Sie Terminal verwenden, ist~/.bash_login
.Ich denke, der beste Weg ist, einfach alles dabei zu haben
~/.bashrc
.Geben Sie für Ihre spezielle Frage einfach ein (dies überschreibt alle vorhandenen ~ / .bashrc):
in das Terminal und eine
~/.bashrc
Datei wird mit Ihren neuen Alises erstellt. Danach bearbeiten Sie einfach die Datei, um neue Aliase, Funktionen, Einstellungen usw. hinzuzufügen.quelle
>>
stattdessen verwenden,>
damit es an die Datei angehängt wird, anstatt alles darin zu ersetzen?Erstellen Sie einen Alias am Ende der Datei
Speicher die Datei
Quelle .bashrc
Öffnen Sie das Terminal (Strg + Alt + T), geben Sie cdDesktop ein und drücken Sie die Eingabetaste
quelle
Wenn Sie
blah="/usr/bin/blah"
Ihre eingeben,~/.bashrc
können Sie sie$blah
in Ihrer Login-Shell als Ersatz für die Eingabe verwenden/usr/bin/blah
quelle
MacOS Catalina und höher
Apple hat gerade seine Standard-Shell auf zsh umgestellt , daher enthalten die Konfigurationsdateien
~/.zshenv
und~/.zshrc
. Das ist genau so~/.bashrc
, aber für zsh. Bearbeiten Sie einfach die Datei und fügen Sie hinzu, was Sie benötigen. Es sollte jedes Mal bezogen werden, wenn Sie ein neues Terminalfenster öffnen:nano ~/.zshenv
alias py=python
Drücken Sie dann Strg + x, y und geben Sie zum Speichern ein.
Diese Datei scheint unabhängig davon ausgeführt zu werden (Login, Nicht-Login oder Skript), scheint also besser als die
~/.zshrc
Datei zu sein.High Sierra und früher
Die Standard-Shell ist bash, und Sie können die Datei bearbeiten
~/.bash_profile
und Aliase hinzufügen:nano ~/.bash_profile
alias py=python
Dann Strg + x, y und Eingabe zum Speichern. Weitere Informationen zu diesen Konfigurationen finden Sie in diesem Beitrag . Es ist ein wenig besser , es mit Ihrem Alias einzurichten in
~/.bashrc
, dann Quelle~/.bashrc
aus~/.bash_profile
. Darin~/.bash_profile
würde dann aussehen:source ~/.bashrc
quelle
Sie möchten wahrscheinlich die
.bashrc
Datei in Ihrem Home-Verzeichnis bearbeiten .quelle
Erstellen Sie ein bash_profile bei Ihrem Benutzer root - ex
Datei öffnen
vim ~ / .bash_profile
Alias als Beispiel hinzufügen. (speichern und schließen)
Geben Sie im neuen Terminal einfach mydir ein - es sollte sich öffnen
quelle
Ich denke es ist richtig:
1) Gehen Sie zum Teminal.
open ~/.bashrc
. Hinzufügen, falls nicht vorhanden2)
open ~/.bash_aliases
. Wenn nicht vorhanden:touch ~/.bash_aliases && open ~/.bash_aliases
3) Um einen neuen Alias hinzuzufügen,
bearbeiten Sie die
.bash_aliases
Datei und starten Sie das Terminal neu oder drucken Siesource ~/.bash_aliases
- drucken Sie,
echo "alias clr='clear'" >> ~/.bash_aliases && source ~/.bash_aliases
wo sich Ihr Alias befindetalias clr='clear'
.4) Zeile
source ~/.bash_aliases
zur~/.bash_profile
Datei hinzufügen. Es muss Aliase in jeden Init des Terminals laden .quelle
Für Benutzer von macOS Catalina:
Schritt 1: Erstellen oder aktualisieren Sie die .zshrc-Datei
Schritt 2: Fügen Sie Ihre Alias-Zeile hinzu
Schritt 3: Quelle .zshrc
Schritt 4: Überprüfen Sie, ob Sie ein Alias sind, indem Sie an der Eingabeaufforderung einen Alias eingeben
quelle
Um eine permanente Alias-Verknüpfung zu erstellen, legen Sie sie in der Datei .bash_profile ab und zeigen Sie die Datei .bashrc auf die Datei .bash_profile. Befolgen Sie diese Schritte (ich erstelle einen Alias-Befehl namens bnode, um babel transpiler auf ES6-Code auszuführen):
Ich hoffe das hilft! Viel Glück!
quelle