W bashu, tak jak w ruby, nazwa programu jest podawana przez $ 0. Co to jest w rybach? Mogę wykonać następujące czynności, jeśli:Jak uzyskać nazwę programu w skrypcie powłoki?
set PROGRAM (ps --no-header -o args -p %self | egrep -o '\S+')[2]
Ale jestem pewien, że nazwa programu musi być już gdzieś dostępna. Mogę również ustawić nazwę programu w zmiennej na punkcie pośrednim każdego programu, ale ma to problemy z utrzymaniem.
To nie działa, jeśli nazwa programu jest inna niż wykonywany plik. Na przykład, jeśli polecenie jest funkcją zdefiniowaną w pliku config.fish lub pliku z dowiązaniem symbolicznym. – Thayne