Ansible:包含管道的多行变量
我尝试在Linux服务器上创建MOTD(每日消息)的角色 我想在这个文件中添加ASCII艺术,ASCII艺术是在我的模板中使用的变量中定义的 所以我的ASCII art变量需要是多行的,并且包含多个特殊字符 我尝试:Ansible:包含管道的多行变量,ansible,ascii-art,Ansible,Ascii Art,我尝试在Linux服务器上创建MOTD(每日消息)的角色 我想在这个文件中添加ASCII艺术,ASCII艺术是在我的模板中使用的变量中定义的 所以我的ASCII art变量需要是多行的,并且包含多个特殊字符 我尝试: motd_asciiart: | _____ _ _ __ _ / ___| | | | / _|
motd_asciiart: |
_____ _ _ __ _
/ ___| | | | / _| |
\ `--.| |_ __ _ ___| | _______ _____ _ __| |_| | _____ __
`--. \ __/ _` |/ __| |/ / _ \ \ / / _ \ '__| _| |/ _ \ \ /\ / /
/\__/ / || (_| | (__| < (_) \ V / __/ | | | | | (_) \ V V /
\____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/
我试图在第一行和最后一行加上“我有一个不同的错误:
错误!加载YAML时出现语法错误
错误似乎出现在“/Users/ydavid/Devops/ansible2/roles/umanit.motd/defaults/main.yml”中:第7行第74列,但可能是
根据确切的语法问题,在文件中的其他位置
令人不快的一行似乎是:
_____ _ _ __ _
/ ___| | | | / _| |
^ here
/\__/ / || (_| | (__| < (_) \ V / __/ | | | | | (_) \ V V /
\____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/ "
^ here
/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/
\____/ \__\__,_|\___|_|\_\___/ \_/ \___|_| |_| |_|\___/ \_/\_/ "
^这里
你能帮我吗
我们能逃出整个街区吗
我发现这个角色()也有同样的作用,但是ASCII艺术是一行的,如果可以的话,我会避免这个。原因是缩进-第二行比第一行早一个空格,这是一个参考点 我想最干净的解决方案是将艺术保存到单独的文件中,并使用以下方法读取内容:
感谢您的建议。使用此解决方案,我如何为我的主机使用不同的文件?我需要一个通用文件和特定主机的一些例外。但我不知道这与原始问题有何关系。您可以使用主机变量、组变量,或根据主机名包含该文件。
vars:
motd_asciiart: "{{lookup('file', './art.txt')}}"