2

я сейчас нахожусь в точке, где мне часто нужны команды git или docker
(например, docker system prune -a или docker stop $(docker ps -a -q) .

Я хочу знать, как вы справляетесь с этими частично длинными командами? Есть ли способ сохранить и перечислить их, например, git config --global --list (но там вы видите больше псевдонимов)?
Является ли файл ".zshrc" стандартным способом сохранения команд / псевдонимов? и как я могу перечислить их?

Работать с псевдонимами - это хорошо, но я не хочу забывать оригинальные команды - вот почему я хочу список сохраненных команд.


ОБНОВИТЬ:
Теперь у меня есть ответственное имя для этого: я хочу иметь шпаргалку, которую я могу вызвать в моем терминале, например, с помощью $ git-cheat и затем появится список моих сохраненных команд git (как псевдонимы в git).

Можете ли вы дать несколько предложений?

Большое спасибо.

2 ответа2

0

Вот довольно простое решение с использованием сценариев оболочки:

  1. Каждая команда, которую вы хотите сохранить, помещается в двухстрочный сценарий оболочки так:
#!/bin/bash
docker system prune -a
  1. Все эти сценарии помещаются в один каталог, который вы затем добавляете в свой путь, если хотите, чтобы они были легко доступны.
  2. Предполагая, что все они находятся в ~/cheat-sheet/ , следующий скрипт должен выдать список, сопоставляющий имя файла с командой, которую он выполняет:
#!/bin/bash
commands=`ls ~/cheat-sheet/`
for item in commands ; do
    cmd=`tail -n 1 ~/cheat-sheet/${item}`
    echo "${item}:  ${cmd}"
done

Обратите внимание, что для этого необходимо дать каждому из сценариев разумно описательные имена, которые будут полезны, но, вероятно, это один из самых быстрых вариантов без использования дополнительного программного обеспечения.

0

если вам интересно, я сейчас внедрил решение и выпустил его на github. (другие функции появятся сегодня или завтра)

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

проблема

Я сейчас нахожусь в точке, где я часто использую такие команды, как
$ docker system prune -a или $ git reset --soft HEAD^
и я не хочу гуглить их, если они нужны мне ad hoc и не запоминают их в данный момент.

Псевдонимы это круто, но если я начинаю работать только с псевдонимами, и кто-то спрашивает меня: «Как я могу сбросить свой коммит?«- конечно, я не могу сказать ему мой псевдоним. ;)
История оболочки тоже классная, но немного длинная (даже если вы grep).

Решение

Инструмент, в котором я могу хранить все используемые команды оболочки, перечислять их, добавлять новые команды и, конечно же, удалять команды.

Поэтому, если я ищу, например, команду, чтобы остановить весь контейнер докеров, я ищу в моих сохраненных командах:
$ sh script_cheatsheet.sh -l 'docker stop'
и я получаю ответ на мой сохраненный вывод:
//-----------------------------//
//-------- cheatsheet --------//
list of greped commands:
docker stop $(docker ps -a -q)
//-----------------------------//

использование

Вы можете просто запустить скрипт и ...

... добавьте команду к вашему списку:
$ sh script_cheatsheet.sh -a 'git commit --amend'
... показать все команды в вашей таблице:
$ sh script_cheatsheet.sh -l all
... показать конкретную команду в вашей таблице:
$ sh script_cheatsheet.sh -l 'commit'
... удалите команду из вашего шпаргалки:
$ sh script_cheatsheet.sh -r 'git commit --amend'
... удалите все команды из вашей таблицы:
$ sh script_cheatsheet.sh -r all

Кроме того, вы можете ...

... проверить использование / помощь:
$ sh script_cheatsheet.sh -h
... проверить версию:
$ sh script_cheatsheet.sh -v

намек

Для лучшего использования было бы лучше всего создать псевдоним, такой как
alias cheat="sh [path-to-script]/script_cheatsheet.sh"
так что вы можете запустить инструмент следующим образом:
$ cheat -l all

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .