На самом деле, то, что вы описываете, будет работать с несколькими примечаниями:
- Вы можете просто положить
docker container lsв файл с именем /bin/dcls. Но поведение этого может быть немного сложным. Чуть более надежно начинать файл со строки, называемой «шебанг», поэтому файл будет выглядеть так:#! / Bin / ш
док-контейнер ls
который указывает, что файл является сценарием оболочки.
- Прежде чем вы сможете запустить команду, вы должны сделать файл исполняемым с помощью команды, подобной
chmod + x / bin / dcls
Вы, вероятно, должны быть пользователем root, чтобы сделать это (то есть запустить его sudo).
Выполните два вышеуказанных шага, и вы сможете печатать, dcls
и это будет делать docker container ls. Но, если вы напечатаете dcls -l foo, это все равно будет docker container ls. Если вы хотите, чтобы это сделать docker container ls -l foo, вы должны изменить сценарий, чтобы сказать
#! / Bin / ш
Док-контейнер ls "$ @"
который указывает, что любые аргументы, которые вы вводите в dclsкомандной строке, должны передаваться docker container lsкоманде.
Естественно, есть более сложные вещи, которые вы можете сделать с аргументами командной строки.
Для отображения одной простой команды → одной простой команды, которую не нужно передавать другим пользователям, проще определить псевдоним ( как предложил Фредди ) или функцию оболочки. Более сложные функции часто пишутся в виде скриптов; т.е. текстовые файлы, которые содержат команды. Но, если вам не нужно делиться им с другими пользователями, чаще используйте личный binкаталог.
$ cd # (в ваш домашний каталог)
$ mkdir bin
Затем скопируйте
dclsв
$HOME/bin, и добавить
export PATH = "$ HOME / bin: $ PATH"
к вашему
~/.bashrc.
Кроме того, принято ставить личные сценарии /usr/local/binи оставлять их /binдля программ, поставляемых с системой.
/bin, вы можете добавить в~/bin(корзину в своем собственном каталоге) или в/usr/local/bin(чтобы поделиться со всеми пользователями вашей системы, но не мешать работе менеджера пакетов). Или лучше в этом случае использовать псевдоним.