jaki jest najlepszy sposób na przechowywanie i wyświetlanie poleceń (szczególnie dla gita i dokera) (jak ściągawka)


2

Jestem teraz w punkcie, w którym często potrzebuję poleceń git lub docker
(lubić docker system prune -a lub docker stop $(docker ps -a -q).

Chcę wiedzieć, jak radzisz sobie z tymi częściowo długimi poleceniami? czy istnieje sposób, aby je przechowywać i wyświetlać git config --global --list (ale widzisz więcej niż aliasy)?
Czy plik „.zshrc” jest standardowym sposobem zapisywania poleceń / aliasów? i jak mogę je wymienić?

Praca z aliasami jest w porządku, ale nie chcę zapomnieć o oryginalnych poleceniach - dlatego chcę mieć listę przechowywanych poleceń.


AKTUALIZACJA:
Teraz mam odpowiedzialną nazwę: chcę mieć Ściągawka które mogę zadzwonić na moim terminalu, np. z $ git-cheat a następnie pojawi się lista moich przechowywanych poleceń git (jak aliasy w git).

Czy możesz podać kilka sugestii?

Wielkie dzięki.


Czy jest jakiś powód, dla którego pisanie ich jako skryptów powłoki nie zadziała?
Austin Hemmelgarn

nie ma powodów, aby coś nie działało;) po prostu proszę o sugestie. Jestem nowym użytkownikiem skryptów powłoki. możesz mi podać przykład?
m1well

Podstawowy skrypt podstawowy składa się z linii zaczynającej się od #!/bin/shi jeden wiersz zawierający żądane polecenie. Od tego momentu upewnij się, że bit wykonywalny jest ustawiony ( chmod +x na pliku) i powinieneś być dobry.
Austin Hemmelgarn

tak, wiem, że muszę uruchomić skrypt za pomocą „#! / bin / sh”. Jeśli możesz mi podać przykład mojego pytania?
m1well

Ach, przepraszam, źle zrozumiałem, dajcie mi kilka minut, a ja napiszę odpowiedź, która ma kilka przykładów, a także daje komendę do wypisania wszystkich poleceń.
Austin Hemmelgarn

Odpowiedzi:


0

Oto dość proste rozwiązanie wykorzystujące skrypty powłoki:

  1. Każde polecenie, które chcesz zapisać, jest umieszczane w 2-liniowym skrypcie powłoki w następujący sposób:
#!/bin/bash
docker system prune -a
  1. Wszystkie te skrypty są umieszczane w jednym katalogu, który następnie dodajesz do ścieżki, jeśli chcesz, aby były trywialnie dostępne.
  2. Zakładając, że wszyscy wejdą ~/cheat-sheet/, następujący skrypt powinien wypluć listę odwzorowującą nazwę pliku na komendę, którą uruchamia:
#!/bin/bash
commands=`ls ~/cheat-sheet/`
for item in commands ; do
    cmd=`tail -n 1 ~/cheat-sheet/${item}`
    echo "${item}:  ${cmd}"
done

Należy zauważyć, że wymaga to podania każdemu ze skryptów dość opisowych nazw, aby były użyteczne, ale prawdopodobnie jest to jedna z najszybszych możliwych opcji bez użycia dodatkowego oprogramowania.


dziękuję, to świetnie. ale myślę, że jest to nieco przełomowe
m1well

0

jeśli jesteś zainteresowany, zaimplementowałem rozwiązanie i wydałem je na github. (dalsze funkcje będą dostępne dzisiaj lub jutro)

https://github.com/m1well/cheatsheet/

Problem

Jestem teraz w punkcie, w którym często używam takich poleceń
$ docker system prune -a lub $ git reset --soft HEAD^
i nie chcę ich szukać w Google, jeśli potrzebuję ich ad hoc i nie zapamiętuję ich w tym momencie.

Aliasy są fajne, ale jeśli zacznę pracować tylko z aliasami i ktoś zapyta mnie „jak mogę zresetować moje zatwierdzenie?” - Oczywiście nie mogę mu powiedzieć mojego pseudonimu. ;)
Historia powłoki jest także fajna, ale trochę za długa (nawet jeśli grep).

Rozwiązanie

Narzędzie, w którym mogę przechowywać wszystkie używane polecenia powłoki, wyświetlać je, dodawać nowe polecenia i oczywiście usuwać polecenia.

Więc jeśli szukam np. po polecenie zatrzymania całego kontenera dokowania szukam w moich przechowywanych poleceniach:
$ sh script_cheatsheet.sh -l 'docker stop'
i otrzymuję odpowiedź na moje zapisane dane wyjściowe:
//-----------------------------//
//-------- cheatsheet --------//
list of greped commands:
docker stop $(docker ps -a -q)
//-----------------------------//

Stosowanie

Możesz po prostu uruchomić skrypt i ...

... dodaj polecenie do arkusza kalkulacyjnego:
$ sh script_cheatsheet.sh -a 'git commit --amend'
... pokaż wszystkie polecenia w swoim arkuszu kalkulacyjnym:
$ sh script_cheatsheet.sh -l all
... pokaż konkretne polecenie w swoim arkuszu kalkulacyjnym:
$ sh script_cheatsheet.sh -l 'commit'
... usuń polecenie z arkusza kalkulacyjnego:
$ sh script_cheatsheet.sh -r 'git commit --amend'
... usuń wszystkie polecenia z arkusza kalkulacyjnego:
$ sh script_cheatsheet.sh -r all

Ponadto możesz ...

... sprawdź użycie / pomoc:
$ sh script_cheatsheet.sh -h
... sprawdź wersję:
$ sh script_cheatsheet.sh -v

Wskazówka

Dla lepszego wykorzystania najlepiej byłoby utworzyć alias taki jak
alias cheat="sh [path-to-script]/script_cheatsheet.sh"
abyś mógł uruchomić to narzędzie w następujący sposób:
$ cheat -l all


Możesz też dodać trochę kontekstu z pewnym wyjaśnieniem.
Pimp Juice IT

ok zmieniłam to
m1well
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.