Tak, właśnie to napisałem w pośpiechu;) Teraz edytuję.
Wiil this do ?:alias cmd5 = "cd ../../../../../"
ypercubeᵀᴹ
Cóż, przypuszczam, że mógłbym je zapisać od 1 do 10, ale fajnie byłoby mieć sprytny sposób na zrobienie tego. To tak naprawdę do mnie nie pasuje. Zrobi to, jeśli nie pojawi się żadne inne rozwiązanie.
Odpowiedzi:
16
Umieść to w ~/.bashrc:
cdup(){
levels=${1-1}while((levels--));do
cd ..done}
(Nazwa cduppochodzi od odpowiedniego polecenia FTP, tylko FYI.)
Dzięki za odpowiedź, poszedł z odpowiedzią Jleedev, ponieważ był o 1 linię krótszy i nie mogłem zdecydować, kto ma wybrać! W każdym razie dzięki!
@Muu: Obie odpowiedzi będą działać, ale moje będą działać na wielu, wielu poziomach, a @ jleedev będą działać tylko dla niewielkiej garstki (bez względu na limit stosu). ;-) (Jestem pewien, że nigdy nie przekroczysz limitu w żaden sposób, ale mój jest bardziej ogólny, to jest to, co staram się osiągnąć. :-))
Chris Jester-Young
Trzeba przyznać, że odpowiedziałem ci wtedy. Przepraszam, Jleedev - chociaż najprawdopodobniej będę nadal korzystać z Twojego rozwiązania, ponieważ zapomnę go zmienić :)
11
Nauczono mnie używać „pushd” i „popd” w takich okolicznościach.
Na przykład wpisz „pushd”. a następnie „cd / home”. Teraz wpisz „popd”, a wrócisz do miejsca, w którym zacząłeś.
„pushd” / „popd” to stos, możesz wcisnąć tam tyle katalogów, ile chcesz, ale jest on ostatni, pierwszy, kiedy wyskakujesz.
cd -
wróć do ostatniego katalogu, w którym byłeś. Cały czas używam tego, aby przejść z mojego drzewa kodu z powrotem do jego katalogu głównego ... chociaż to działa tylko wtedy, gdy włączysz go do niego w jednym zmiana.
cdd stary nowy
to była funkcja skryptu, którą napisałem w przeszłości, której używałem do poruszania się między podobnymi drzewami. Zasadniczo wymagało to dwóch argumentów i regexp na twojej ścieżce, świetny do poruszania się między gałęziami i tym podobne. Na przykład, jeśli byłeś w ~ / bzr / web / trunk / path / to / feature i chciałeś dostać się do ~ / bzr / web / feature-branch / path / to / feature, to zrobiłbyś to cdd trunk feature-branch. Implementacja, którą miałem, była w archaicznym języku powłoki w systemie AIX, ale była dość trywialna, więc powinna być łatwa do wdrożenia w wybranej powłoce, jeśli jej potrzebujesz. Dla nas było to bardzo przydatne, ponieważ struktura wyglądała następująco: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... więc poruszanie się na tym drzewie szybko oszalało.
ls
? Na pewno masz na myślicd
?alias cmd5 = "cd ../../../../../"
Odpowiedzi:
Umieść to w
~/.bashrc
:(Nazwa
cdup
pochodzi od odpowiedniego polecenia FTP, tylko FYI.)źródło
Nauczono mnie używać „pushd” i „popd” w takich okolicznościach.
Na przykład wpisz „pushd”. a następnie „cd / home”. Teraz wpisz „popd”, a wrócisz do miejsca, w którym zacząłeś.
„pushd” / „popd” to stos, możesz wcisnąć tam tyle katalogów, ile chcesz, ale jest on ostatni, pierwszy, kiedy wyskakujesz.
źródło
Jasne, czemu nie:
źródło
up 500
. :-)Szybko i brudno:
Sformułowany, aby zmienić katalog tylko raz.
źródło
Oto alternatywny sposób:
źródło
Możesz zajrzeć do używania
pushd
ipopd
ustawiania znaczników lokalizacji i łatwo wracać z dowolnego katalogu, w którym się zmieniłeś.Możesz także ustawić zmienną o nazwie katalogu, którego często używasz, a następnie tam CD:
źródło
Używam autojump, który pozwala mi pisać:
potrafi uczyć się na twoich nawykach i jest bardzo lekka (i uzależniająca;))
źródło
Zbudować ścieżkę przy
printf
czymcd
do niego:Użyj jako:
źródło
Dwie myśli, które mogą ci się przydać:
cd -
wróć do ostatniego katalogu, w którym byłeś. Cały czas używam tego, aby przejść z mojego drzewa kodu z powrotem do jego katalogu głównego ... chociaż to działa tylko wtedy, gdy włączysz go do niego w jednym zmiana.
cdd stary nowy
to była funkcja skryptu, którą napisałem w przeszłości, której używałem do poruszania się między podobnymi drzewami. Zasadniczo wymagało to dwóch argumentów i regexp na twojej ścieżce, świetny do poruszania się między gałęziami i tym podobne. Na przykład, jeśli byłeś w ~ / bzr / web / trunk / path / to / feature i chciałeś dostać się do ~ / bzr / web / feature-branch / path / to / feature, to zrobiłbyś to
cdd trunk feature-branch
. Implementacja, którą miałem, była w archaicznym języku powłoki w systemie AIX, ale była dość trywialna, więc powinna być łatwa do wdrożenia w wybranej powłoce, jeśli jej potrzebujesz. Dla nas było to bardzo przydatne, ponieważ struktura wyglądała następująco: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... więc poruszanie się na tym drzewie szybko oszalało.źródło