Ansible で、ファイル名が入った変数の拡張子を省いて展開したい
Ansible で、変数にファイル名がバインドされているとします。その拡張子を省いて展開したいです。
以下の通り、 regex_replace
を用いればできるではないか、と思っているのですが、うまくいっていないです。
どうやったら、やりたいことが実現できるでしょうか。
追記:
以下のプログラムは、本当にやりたいことである、「変数から拡張子を省いて展開」をどうにかしてできないかと試行するために作った playbook です。シェルの機能で回避したいわけではないです。。
test.yml
---
- name: test ansible
hosts: localhost
user: ubuntu
vars:
file_name: "hoge.txt"
tasks:
- name: Hello server
shell: echo "{{ file_name | regex_replace('^(.*)\\.[^\\.]*$','\\1') }}" > test.txt
実行コマンド
ansible-playbook test.yml
期待する動作
- test.txt の中身が
hoge
になる。
実際の動作
- test.txt の中身が
hoge.txt
になる