Tworzenie wielu tymczasowych aliasów

9

Nie jestem użytkownikiem root i nie mam dostępu do globalnego pliku aliasu zawierającego wszystkie aliasy, ale chcę utworzyć aliasy, które pozostaną aktywne tylko dla sesji, w której jestem zalogowany. Korzystam z polecenia, alias x='cd /parent/child'aby utworzyć alias, który pozwoli mi po prostu pisać xna konsoli i zmieniam katalog na / Parent / Child.

Chcę jednak utworzyć wiele aliasów i nie chcę wpisywać każdego aliasu, który tworzę za każdym razem.

Próbowałem umieścić wszystkie wiersze alias = 'do this' w pliku (dałem mu 777 pozwolenie), mając nadzieję, że po uruchomieniu pliku wszystkie te aliasy będą tworzone przy każdym logowaniu. Ale tak się nie stało.

np .:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

Próbowałem również tego w pliku, ale na próżno:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

Żadna z nazw, które wypróbowałem, nie była już obecna w aliasie globalnym. (Wpisałem alias i zobaczyłem wynik na ekranie).

Web Nash
źródło
Możesz umieścić wszystkie swoje aliasy w .bashrcpliku.
cuonglm
@Web Nash: Ale jeśli chcesz przekazać różne argumenty do różnych poleceń, to nie zadziała
Thushi,

Odpowiedzi:

12

wygeneruj wszystkie aliasy sesji w pliku, na przykład alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

następnie użyj

 . ./alias.txt

Powinieneś mieć wszystkie swoje aliasy na liście aliasów dla tej pojedynczej sesji.

Edytować:

Pamiętaj, aby użyć

. ./alias.txt

nie

./alias.txt

W pierwszym przypadku treść jest odczytywana „jak gdyby została wpisana”, podczas gdy w drugim przypadku zdefiniowany zostanie alias w powłoce, która zostanie zamknięta.

Archemar
źródło
Zrobiłem podobnie na początku, zanim opublikowałem to pytanie. Zamiast pliku tekstowego po prostu umieszczam te wiersze w pliku bez rozszerzenia i to nie działa. Ale nawet gdy wypróbowałem go z rozszerzeniem .txt, to nie działało
Web Nash
To działało idealnie. Dziękuję bardzo. Nie rozumiałem różnicy między używaniem tych trzech formularzy 1) alias.txt 2) ./alias.txt 3). ./alias.txt
Web Nash
formularz 1) i 2) są równoważne, jeżeli. jest w twojej ŚCIEŻCE $. zadzwonią baiscally nową powłokę, uruchom polecenie. W większości przypadków jest to OK, jednak jeśli chcesz mieć alias lub funkcję, definicja zniknie po wyjściu powłoki.
Archemar