[英]Call remote bash function via ansible
是否可以通過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'
如果您需要設置環境變量,這是一個常見的技巧。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.