Ich habe eine Reihe von Shell-Skripten, von denen die erste die beliebte Fish-Shell installiert. Sobald dieser Schritt abgeschlossen ist, kopiere ich ein Verzeichnis functions/
an den entsprechenden Speicherort. Ich möchte dann die Funktion spin
verwenden, um jedes Shell-Skript aufzurufen und einen Spinner anzuzeigen, während jedes Skript ausgeführt wird. Jedoch, nachdem ich die anfängliche Installation von Fisch und Konfiguration passiert habe, bin ich nicht in der Lage, die Funktionen zu verwenden, d. H. spin <command>
Ergebnisse in command not found
.Verwenden der Funktion "Fischschale" innerhalb eines Skripts
HINWEIS Dies geschieht in einem kurzlebigen Andock-Container zum Testen.
Alle Hinweise oder Hilfe mit diesem würde sehr geschätzt werden.
Nicht vertraut mit Fisch, aber Shell-Funktionen sind normalerweise nicht in nicht interaktiven Schalen verfügbar. Eine einfache und unkomplizierte Problemumgehung besteht darin, die Implementierung von einer Funktion in einen regulären externen Befehl zu ändern. – tripleee
@tripleee Funktionen sind in nicht interaktiven Shells verfügbar, obwohl die Dateien, die sie definieren, von diesen Shells möglicherweise nicht geladen werden. Aliase sind in nicht-interaktiven Shells oft nicht verfügbar. –
Für Fische sollte das eigentlich funktionieren, da es immer die gleichen Dateien erzeugt. Das ist, es sei denn, Sie haben es ausdrücklich mit "if status --is-interactive" geschützt. Ist das Funktionenverzeichnis in Ihrem $ fish_function_path? – faho