En realidad, lo que describas funcionaría, con algunas notas:
- Simplemente podría poner
docker container ls
en un archivo llamado /bin/dcls
. Pero el comportamiento de eso puede ser un poco complicado. Es un poco más confiable comenzar el archivo con una línea llamada "shebang", para que el archivo se vea como#! / bin / sh
contenedor acoplable ls
que especifica que el archivo es un script de shell.
- Antes de poder ejecutar el comando, debe hacer que el archivo sea ejecutable con un comando como
chmod + x / bin / dcls
Probablemente necesite ser root para hacer esto (es decir, ejecutarlo con sudo
).
Siga los dos pasos anteriores y podrá escribir dcls
y funcionará docker container ls
. Pero, si escribe dcls -l foo
, todavía lo hará docker container ls
. Si quieres que lo haga docker container ls -l foo
, debes cambiar el guión para que diga
#! / bin / sh
contenedor acoplable ls "$ @"
que especifica que cualquier argumento que escriba en la dcls
línea de comando debe pasar al docker container ls
comando.
Naturalmente, hay cosas más complicadas que puede hacer con argumentos de línea de comandos.
Para una asignación de un comando simple → un comando simple, que no necesita ser compartido con otros usuarios, es más simple definir un alias ( como sugirió Freddy ), o una función de shell. Las funciones más complicadas a menudo se escriben como scripts; es decir, archivos de texto que contienen comandos. Pero, si no necesita compartirlo con otros usuarios, es más común usar un bin
directorio privado .
$ cd # (a su directorio de inicio)
$ mkdir bin
A continuación, copie
dcls
a
$HOME/bin
, y añadir
export PATH = "$ HOME / bin: $ PATH"
a tu
~/.bashrc
.
Además, es común incluir scripts personales /usr/local/bin
y salir /bin
para los programas que vienen con el sistema.
/bin
, puede agregar a~/bin
(un contenedor en su propio directorio) o a/usr/local/bin
(para compartir con todos los usuarios de su sistema, pero no interferir con el administrador de paquetes). O mejor en este caso, usar un alias.