是否可以通过ansible ad-hoc命令(使用shell,命令模块?)调用bash中定义的远程函数(例如,在/etc/profile.d中存储的一个脚本中添加)
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'
如果您需要设置环境变量,这是一个常见的技巧.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。