linux – 通过ansible调用远程bash函数

是否可以通过ansible ad-hoc命令(使用shell,命令模块?)调用bash中定义的远程函数(例如,在/etc/profile.d中存储的一个脚本中添加)

例如,我有以下功能,可以查看apt历史的状态:

function apt-history(){
  case "$1" in
    install)
          cat /var/log/dpkg.log | grep 'install '
          ;;
    upgrade|remove)
          cat /var/log/dpkg.log | grep $1
          ;;
    rollback)
          cat /var/log/dpkg.log | grep upgrade | \
              grep "$2" -A10000000 | \
              grep "$3" -B10000000 | \
              awk '{print $4"="$5}'
          ;;
    *)
          cat /var/log/dpkg.log
          ;;
  esac
}

是否可以通过ad-hoc命令从其中一个现有模块直接通过函数调用函数?我知道可以创建一个新脚本并直接远程调用它,但这不是我想要在这里实现的.任何建议赞赏.

解决方法:

您必须使用命令或shell模块在远程端实例化bash,如下所示:

ansible localhost -m command -a 'bash -lc apt-history'

如果您需要设置环境变量,这是一个常见的技巧.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...