Answers:
快捷方式的一种简单方法是定义一个 alias
alias dcls='docker container ls'
这将docker container ls
在您输入dcls
并且命令alias
列出您定义的别名时执行。要删除此别名,请使用unalias dcls
。
如果您使用bash,则可以将别名保存在~/.bashrc
或中~/.bash_aliases
。
如果~/.bash_aliases
启动时未读取您的信息,则可以将此行添加到您的~/.bashrc
:
[ -f ~/.bash_aliases ] && . ~/.bash_aliases
~/.bashrc
或者~/.profile
或者...如果您不保存别名,则在注销或关闭终端时它将丢失。
echo "alias dcls='docker container ls'" >> ~/.bashrc
,然后使用. ~/.bashrc
或登出它作为源,然后注销并再次登录。
实际上,您所描述的内容会起作用,但需要注意以下几点:
docker container ls
文件放入/bin/dcls
。但是,其行为可能会有些复杂。以名为“ shebang”的行开始文件更加可靠,因此文件看起来像#!/ bin / sh docker容器ls它指定文件是一个shell脚本。
chmod + x / bin / dcls您可能需要具有root才能执行此操作(即,使用来运行它
sudo
)。请按照上面的两个步骤操作,您将可以输入文字dcls
并且可以输入文字docker container ls
。但是,如果您键入dcls -l foo
,它仍然会起作用docker container ls
。如果要执行此操作docker container ls -l foo
,则应将脚本更改为
#!/ bin / sh docker容器ls“ $ @”它指定您在
dcls
命令行上键入的所有参数都应传递给docker container ls
命令。
自然地,您可以使用命令行参数执行更复杂的操作。
对于一个简单命令→一个简单命令的映射,该映射不需要与其他用户共享,则定义别名(如Freddy所建议的)或shell函数更为简单。更复杂的功能通常被编写为脚本。即,包含命令的文本文件。但是,如果您不需要与其他用户共享它,则使用私有bin
目录更为常见。
$ cd #(到您的主目录) $ mkdir bin然后复制
dcls
到$HOME/bin
,并添加export PATH =“ $ HOME / bin:$ PATH”给你
~/.bashrc
。
另外,通常将个人脚本放入/usr/local/bin
,然后留给/bin
系统随附的程序。
/bin
,/usr/bin
和(通常)共享目录中查找, 例如/usr/local/bin
和有时/opt
,因此这些目录中的程序可供所有用户使用。
/usr/local/bin
它,以免干扰程序包管理器。
$HOME/bin
。您应该真正使用它。这不仅是正确的范围,而且在重新安装系统(并保留HOME
)以免丢失自定义命令时会有所帮助。
如果只是适合您,则可以使用别名,但是根据Linux Filesystem Hierarchy Standard的要求,本地系统范围的脚本应放在/usr/local/bin/
,而不是/bin
。
/bin
,但是最好保持标准,尤其是如果软件要在客户的站点上部署。/opt
脚本本身将是:
#!/bin/bash
#
# Version 1.0 DD 2019-05-04
# dcls = docker container ls
docker container ls "@0"
if [[ $? -eq 0 ]]; then
echo -e "Errors encountered..."
exit 1
fi
/bin
,您可以添加到~/bin
(您自己目录中的bin)或添加到/usr/local/bin
(与系统的所有用户共享,但不干扰程序包管理器)。在这种情况下,最好使用别名。