栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

我可以给子命令加上别名吗?(缩短docker ps的输出)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我可以给子命令加上别名吗?(缩短docker ps的输出)

您可以包装

docker
一个检查特定子命令并传递其他所有内容的函数。(以下内容实际上不仅适用于zsh,而且适用于任何POSIX兼容的shell(zsh并不完全属于该类别)。

docker() {  case $1 in    ps)      shift      command docker ps --format 'table {{.Image}}t{{.Names}}t{{.Ports}}t{{.Status}}' "$@"      ;;    *)      command docker "$@";;  esac}

如果您想要一个更通用的包装器函数(不需要了解特定的所需

ps
逻辑),可以按照以下步骤进行操作(请注意,由于使用了该版本,该版本与基线POSIX sh
兼容
local
;但是,是甚至由
ash
及其衍生物实现的扩展):

docker() {  local cmd=$1; shift  if command -v "docker_$cmd" >/dev/null 2>/dev/null; then    "docker_$cmd" "$@"  else    command docker "$cmd" "$@"  fi}

…之后,可以定义任何子命令自己的功能,而无需修改包装器以了解它们(您也可以在PATH中创建名为的脚本

docker_ps
,或以您选择的任何其他方式提供命令):

docker_ps() {  command docker ps --format 'table {{.Image}}t{{.Names}}t{{.Ports}}t{{.Status}}' "$@"}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/401229.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号