In NixOS, Definitionen von Shell-Aliase können wie so in der configurations.nix Datei definiert werden:Make-Shell-Aliase deklarativ auf Pakete hängt
environment.shellAliases = {
"my_some_cmd" = "some_cmd -flag 123";
}
Dieser selbst zugewiesen wird, wenn der genannte Befehl (hier: some_cmd
) ist nicht im System verfügbar. Angenommen, dieser Befehl ist in einem Paket enthalten. Es wäre also wünschenswert zu erklären, dass der Alias nur zugewiesen werden sollte, wenn das Paket installiert ist.
Wie könnte das getan werden? Müsste ich nur mit einer Wrapping-if-Anweisung arbeiten oder gibt es andere Möglichkeiten, dies zu archivieren?
Wenn die if-Anweisung der richtige Weg ist, wie könnte das implementiert werden?
Schreiben eine Shell-Funktion, die Alias-Erstellung, wenn einiger verwandter Befehl automatisiert ist nicht im Weg gefunden, und benutze es immer und immer und immer wieder. – alexis
wäre das eine triviale Sache? Ich meine, wie man erkennt, ob ein Wort ein Befehl oder ein Parameter ist. zB: 'alias my = "cmd a_datei $ (echo xyz)"'. Wie auch immer, ich bin nicht so sehr mit Bash Scripting beschäftigt, also vermisse ich vielleicht etw. –
Entweder der Aliasname und der Befehlsname sind identisch, oder Sie müssen ihm mitteilen, welche Existenz zu prüfen ist. – alexis