Zusamenfassend:
$ alias search=grep
$ search
search: Command not found.
$ alias search='grep'
$ search
search: Command not found.
$ alias search="grep"
$ search
search: Command not found.
Warum alias
funktioniert es nicht?
Ich habe auch Aliase hinzugefügt und source
die folgenden Dateien ausgeführt, erhalte jedoch den gleichen Fehler:
~/.bashrc
~/.bash_profile
~/.profile
Wenn dies beispielsweise mein ist ~/.bashrc
:
alias wtf='git'
alias foo="ls"
alias search=grep
Und wenn ich source ~/.bashrc
ein neues Terminal öffne, erscheint immer noch Folgendes:
$ foo
foo: Command not found.
$ wtf
wtf: Command not found.
$ search
search: Command not found.
Ich bin auf dieser Maschine kein Root (Cent OS 6.8, nicht sicher, ob das relevant ist) und wenn ich es einfach ausführe, alias
sehe ich die Aliase für alle Benutzer. Kann ich nicht nur für meinen Benutzer Aliase erstellen?
Antwort1
Das Problem war, dass die Standard-Shell auf meinem Computer isttsch
.
Führen Sie es aus echo $SHELL
, um zu ermitteln, welche Shell Sie verwenden. Wenn es tsch
oder ist csh
, verwenden Sie das =
Zeichen nicht, um Aliase zuzuweisen.
Zum Beispiel auf tsch
:
$ alias foo="ls"
$ foo
foo: Command not found.
Aber:
$ alias bar ls
$ bar
<works and lists folder contents>
Um Ihre Standard-Shell zu ändern bash
, können Sie Folgendes ausführen:
$ chsh -s /bin/bash
Um tcsh
Aliase beizubehalten, müssen Sie eine ~/.tcshrc
Datei erstellen.