- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Chef Recipe 中使用了以下代码:
bash 'replace_text' do
cwd ::File.dirname('/data01/nodemanager/bin')
code <<-EOH
sed 's/NODEMGR_HOME=.*/NODEMGR_HOME="\/data01\/nodemanager"/g' startNodeManager.sh
EOH
end
我要替换的文本是包含 NODEMGR_HOME=
startNodeManager.sh
的行中的所有内容,位于 /data01/nodemanager/bin
并且我在运行 Recipe 时收到以下输出:
Running handlers:
[2017-11-21T23:58:22+00:00] ERROR: Running exception handlers
[2017-11-21T23:58:22+00:00] ERROR: Running exception handlers
Running handlers complete
[2017-11-21T23:58:22+00:00] ERROR: Exception handlers complete
[2017-11-21T23:58:22+00:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 01 seconds
[2017-11-21T23:58:22+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
[2017-11-21T23:58:22+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
[2017-11-21T23:58:22+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-11-21T23:58:22+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2017-11-21T23:58:22+00:00] ERROR: bash[replace_text] (domain-test::sed2 line 1) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of "bash" "/tmp/chef-script20171121-11258-vwwwm6" ----
STDOUT:
STDERR: sed: -e expression #1, char 34: unknown option to `s'
---- End output of "bash" "/tmp/chef-script20171121-11258-vwwwm6" ----
Ran "bash" "/tmp/chef-script20171121-11258-vwwwm6" returned 1
[2017-11-21T23:58:22+00:00] ERROR: bash[replace_text] (domain-test::sed2 line 1) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of "bash" "/tmp/chef-script20171121-11258-vwwwm6" ----
STDOUT:
STDERR: sed: -e expression #1, char 34: unknown option to `s'
---- End output of "bash" "/tmp/chef-script20171121-11258-vwwwm6" ----
Ran "bash" "/tmp/chef-script20171121-11258-vwwwm6" returned 1
[2017-11-21T23:58:22+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
[2017-11-21T23:58:22+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>> Converge failed on instance <default-ubuntu-1404>. Please see .kitchen/logs/default-ubuntu-1404.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration
最佳答案
您的反斜杠转义级别不够。请记住,它首先是一个 Ruby 字符串,然后是一个 bash 字符串,然后是一个 sed 参数。您也可以使用 line
或 poise-file
说明书来回避整个问题。
关于linux - Chef Recipe - 用 sed 命令替换 Linux 文件中的文本(接收错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47424806/
我正在使用来自 chef 的软件包开发自定义 Recipe 。 我在 recipes 文件夹下创建了一个名为 apache.rb 的文件。 然后我通过 berks 上传了菜谱,并在一个节点上用 rec
I like to create a single Openrewrite migration jar that includes custom recipes and rewrite.yml
我正在尝试对一个模型进行 k 折交叉验证,该模型根据卫星图像预测树种断面积比例的联合分布。这需要使用 DiricihletReg::DirichReg() 函数,这反过来又需要使用 Dirichlet
在一本 Recipe 中,我有一个图书馆( client_helper.rb )。在其中定义了一个模块。模块名称为 客户 helper .这是模块代码。 module Client_helper #
我的 nginx Recipe 中有两个 Chef Recipe 。一个名为 default.rb,另一个名为 sites.rb。当我用 运行网站 Recipe 时 RUN_LIST=recipe[n
我有 Recipe base 和 Recipe myapp base 有 2 个配方 - my_java 和 java_with_custom_stuff 在 java_with_custom_stu
所以我使用以下配方: include_recipe "build-essential" node_packages = value_for_platform( [ "debian", "ubunt
我正在尝试使用 Vagrant 创建我的第一个 Chef Recipe ,但在第一步就遇到了问题。我的 Recipe 的第一行是: include_recipe "apt" 但是当我尝试 vagran
我已经下载了 Recipe “chef-jira”,现在我正在尝试在 Ubuntu 12.04 上使用 chef-solo/vagrant 运行它。 经过大量的谷歌搜索和 stackoverflow
我们有一个测试环境,由一台服务器、一台客户端和另一台作为工作站的客户端组成。 我知道命令 # knife cookbook site install apache2 但是这个命令会产生错误,因为我什至
我使用knife solo 使用.chef/knife.rb 定义的自定义模板创建了一个新文件夹和一个带有默认食谱的食谱。我的问题是我应该使用什么命令让刀使用该模板而不是使用 cp 创建新食谱? 类似
我是 Chef 的初学者。任何人都可以告诉我是否有一种方法可以将 Cookbook 的 files/default 目录中的目录复制到其他位置。 例如我在 files/ 目录中有一个包含文件 a.tx
我有一本包含 2 个食谱的食谱。 属性/default.rb default['vpn']['crt'] = 'nocrt' 默认配方具有创建通用 crt 文件的文件资源 file 'cert' do
我的情况是我有三本 Recipe ,每本都有一个写入/etc/hosts 文件的模板资源。 与其覆盖,我想附加: 第一本 Recipe 创建/etc/hosts 文件并写入第 1、2、3 行。 第二本
从我当前正在执行的食谱中,我想访问它在我的执行机器上的“当前”位置。 我需要它来访问它的缓存目录结构。 我有一种感觉,它位于“node[]”内的某个地方,但我根本找不到有关其结构的任何文档。 有什么建
z3c.recipe.scripts 和 zc.recipe.egg 似乎都在积极开发中。 z3c.recipe.scripts 描述为: The script recipe installs egg
我对 ModelMommy 有一段时间的烦恼,但我不知道如何正确地做到这一点。 让我们假设一个简单的关系: class Organization(models.Model): label =
我将一个 zip 文件放入 Recipe 中,然后将其上传到服务器后,我发现了这个错误。有人可以建议我解决此错误的正确解决方案吗... ERROR: Failed to upload ~/chef-r
我第一次使用 Chef,试图了解 Recipe 和 Recipe 。 我在配置我目前在我的角色文件中执行的标准 php 说明书后收到错误“mysql::client”失败: run_list( "
Glpk 需要使用configure make install 命令构建。所以我使用 zc.recipe.cmmi 配方来构建 glpk 包。它在 bin 目录中生成 glpsol 命令。我需要能够在
我是一名优秀的程序员,十分优秀!