Na verdade, o que você descreve funcionaria, com algumas notas:
- Você pode simplesmente colocar
docker container lsem um arquivo chamado /bin/dcls. Mas o comportamento disso pode ser um pouco complicado. É um pouco mais confiável iniciar o arquivo com uma linha chamada "shebang", para que o arquivo pareça#! / bin / sh
container docker ls
que especifica que o arquivo é um script de shell.
- Antes de poder executar o comando, você deve tornar o arquivo executável com um comando como
chmod + x / bin / dcls
Você provavelmente precisa ser root para fazer isso (por exemplo, execute-o com sudo).
Siga os dois passos acima e você poderá digitar dcls
e ele fará docker container ls. Mas, se você digitar dcls -l foo, ainda funcionará docker container ls. Se você quiser docker container ls -l foo, altere o script para dizer
#! / bin / sh
container docker ls "$ @"
que especifica que qualquer argumento digitado na dclslinha de comando deve ser passado para o docker container lscomando.
Naturalmente, há coisas mais complicadas que você pode fazer com argumentos de linha de comando.
Para o mapeamento de um comando simples → um comando simples, que não precisa ser compartilhado com outros usuários, é mais simples definir um alias ( como sugerido por Freddy ) ou uma função de shell. Funções mais complicadas são frequentemente escritas como scripts; ou seja, arquivos de texto que contêm comandos. Mas, se você não precisar compartilhá-lo com outros usuários, é mais comum usar um bindiretório privado .
$ cd # (para o seu diretório pessoal)
$ mkdir bin
Copie
dclspara
$HOME/bine adicione
exportar PATH = "$ HOME / bin: $ PATH"
para o seu
~/.bashrc.
Além disso, é comum inserir scripts pessoais /usr/local/bine partir /binpara os programas que acompanham o sistema.
/bin, você pode adicionar a~/bin(uma lixeira em seu próprio diretório) ou a/usr/local/bin(para compartilhar com todos os usuários do seu sistema, mas não interferir no gerenciador de pacotes). Ou melhor, neste caso, para usar um alias.