【发布时间】:2017-04-23 02:43:20
【问题描述】:
我正在使用脚本从用户那里收集构建规范信息,然后使用刀克隆并构建 VM 以符合规范。 CHEF 然后将一些 shell 脚本复制到配置的节点,然后我使用“knife ssh”执行这些脚本。
这很好用:
template '/path/to/filename.sh' do
source 'filename.sh.erb'
mode 755
end
这不是:
cookbook_file '/path/to/filename.sh' do
source 'filename.sh'
mode 755
end
filename.sh.erb 和 filename.sh 的内容相同。我得到的错误信息如下:
DEMO-CCM2.t3fca.com bash: /tmp/C3_Component_Install.sh: /bin/bash^M: 错误的解释器:没有这样的文件或目录
两个文件的最顶部如下所示:
#!/bin/bash
如果我去主机并尝试手动运行脚本,以下所有工作都很好:
- sh C3_Component_Install.sh
- /bin/bash C3_Component_Install.sh
- /usr/bin/bash C3_Component_Install.sh
- /tmp/C3_Component_Install.sh
所以我不知道出了什么问题。提前感谢您的帮助。
【问题讨论】:
标签: bash chef-infra knife