Unter Cent OS 6.8 kann kein Alias ​​erstellt werden

Unter Cent OS 6.8 kann kein Alias ​​erstellt werden

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 aliasfunktioniert es nicht?

Ich habe auch Aliase hinzugefügt und sourcedie 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 ~/.bashrcein 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, aliassehe 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 tschoder 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 tcshAliase beizubehalten, müssen Sie eine ~/.tcshrcDatei erstellen.

verwandte Informationen