Załóżmy, że masz pseudonim go
, ale chcesz, aby robił różne rzeczy w różnych katalogach?
W jednym katalogu powinien działać cmd1
, ale w innym katalogu powinien działaćcmd2
Nawiasem mówiąc, mam już aliasy do przełączania się do powyższych katalogów, więc czy można dołączyć go
przypisanie aliasu do foo
aliasu?
alias "foo=cd /path/to/foo"
Praca w bash (?) Na OSX.
Odpowiedzi:
Nie jest całkowicie pewne, o co pytasz, ale alias po prostu rozwija się do tego, co jest w aliasie. Jeśli masz dwa aliasy, możesz dołączyć różne polecenia, nawet aliasy.
W każdej innej sytuacji możesz określić funkcję w swoim
.bashrc
Jeśli masz więcej możliwości, lepiej użyj struktury sprawy.
źródło
Mam wrażenie, że jesteś bardzo „zorientowany na katalog” i w takim przypadku może to lepiej pasować do twojej mentalności.
(Ale szczerze mówiąc, myślę, że to zły pomysł, chciałbyś, aby polecenia były globalne).
W
.bashrc
umieścićalias go="./.cmd"
(następniesource ~/.bashrc
).Następnie w każdym takim katalogu umieść skrypt o nazwie
.cmd
, achmod +x .cmd
następnie po prostugo
zrób swoje.źródło
touch .TESTNO; echo 2 > .TESTNO
) w każdym katalogu, a następnie, w swojej funkcji, poszukać tego pliku i rozgałęzić się zgodnie z numerem testu pliku .TESTNO zawiera. Chociaż wcale nie jest to trudne, prawdopodobnie nie możesz użyć do tego aliasu; musisz użyć funkcji.Pracuję nad projektem, który właśnie to osiąga. Sprawdź to: localalias .
Oto demo:
Zabawne, faktycznie użyłem
go
tego przykładu w demie. Nie pokazywałem przełączania katalogów (coś, co powinienem zmienić w wersji demo), ale funkcje zla
poleceniem są rzeczywiście lokalne dla katalogu, w którym są zdefiniowane.źródło
Podobnie, ale zakładając, że „go” jest poleceniem, które ma mieć inną funkcjonalność niż w określonym katalogu.
źródło
Jeśli dodasz następującą funkcję do .bashrc
Za każdym razem, gdy przejdziesz do katalogu z plikiem .aliases, zostanie on pobrany.
Zachowaj ostrożność, jeśli inni mogą tworzyć pliki na twoim komputerze.
Dzięki tej sztuczce aliasy nigdy nie są usuwane, ale możesz napisać tyle funkcji, ile chcesz w funkcji.
ondir używa tej sztuczki i ma mnóstwo dzwonków i gwizdków.
http://swapoff.org/ondir.html#download
źródło
.bashrc
. (Na przykład to nie zadziałacron
).