Aus den Antworten auf meine andere Frage hier habe ich die Möglichkeit kennengelernt, Befehlszeilenargumente an eine Alias-Funktion in Bash zu übergeben.
In Fish kann ich einen Alias bearbeiten, indem ich die Datei config.fish im ~/.config/fish
Verzeichnis bearbeite und eine Zeile wie diese hinzufüge
alias lsp='ls -ah --color=always | less -R;'
und es funktioniert perfekt. Dies sollte der Bearbeitung ~/.bash_aliases
in Bash entsprechen
Aber wenn ich versuche, eine Alias-Funktion einzurichten, um solche Argumente zu übergeben
alias lsp='_(){ ls -ah --color=always $* | less -R; }; _'
es funktioniert nicht für Fische?
Gibt es Unterschiede zwischen fish und bash bei der Einrichtung eines Alias zum Übergeben von Befehlszeilenargumenten, die verhindern, dass dieser zweite Alias mit fish anstelle von bash funktioniert?
quelle
Ich habe noch nie einen solchen Apparat gesehen.
Ein Alias, der eine Funktion deklariert und ausführt. Sie sollten zunächst nur eine Funktion erstellen. In Bash ersetzen Funktionen Aliase in fast jeder Hinsicht.
Fügen Sie das in Ihre
~/.bashrc
Datei ein, oder wenn Sie Funktionen lieber in einer separaten Datei ablegen möchten,~/.bash_functions
können Sie dies tun, aber Sie müssensource
diese Datei von~/.bashrc
quelle