所以我有一个看起来像的Ansible剧本
---
- hosts: mygroup
tasks:
- debug:
msg: "{{ foo | default(inventory_hostname) }}"
Run Code Online (Sandbox Code Playgroud)
我的库存文件看起来像
[mygroup]
127.0.0.1
Run Code Online (Sandbox Code Playgroud)
由于foo未在任何地方定义,因此调试127.0.0.1按预期打印.
但假设我的库存文件看起来像
[mygroup]
127.0.0.1 foo=null
Run Code Online (Sandbox Code Playgroud)
当我运行剧本时,它打印出字符串null.我也试过,foo=None它打印一个空字符串.如何通过库存或额外变量将变量设置为null?
当我想取消设置已在剧本中定义的变量时,这可能很有用.
我使用Ansible版本2.1.1.0.
我正在尝试获取仅包含 gitlab 运行者姓名的列表。
所以输出gitlab-runner list 2>&1是:
Listing configured runners ConfigFile=/etc/gitlab-runner/config.toml
default_runner Executor=shell Token=251cda361f983e612b27381e2f73ad URL=http://10.6.20.230
test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230
Run Code Online (Sandbox Code Playgroud)
请注意,跑步者的姓名中可以包含空格。
所以我尝试了以下方法:
gitlab-runner list 2>&1 | awk -F'Executor' '{if(NR>1)print $1}'这给了我几乎我想要的东西(除了我需要删除的尾随空格)。
default_runner
test runner
Run Code Online (Sandbox Code Playgroud)
但是,如果我将字段分隔符更改为Executor=希望使其更加明确,则它不再起作用。它返回整行。
$ gitlab-runner list 2>&1 | awk -F'Executor=' '{if(NR>1)print $1}'
default_runner Executor=shell Token=251cda361f983e612b27381e2f73ad URL=http://10.6.20.230
test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230
Run Code Online (Sandbox Code Playgroud)
我尝试过逃避它,但Executor\=没有成功。如何在分割中包含等号?
编辑:
如果我取其中一行并将其回显到 awk 中,它就会起作用
$ echo "test runner Executor=shell Token=86ab70918fc87c8a8d3a57c21457fb URL=http://10.6.20.230" | awk -F'Executor=' '{print $1}'
test runner
Run Code Online (Sandbox Code Playgroud)
另一件需要注意的事情是,无论出于何种原因,gitlab-runner list …
在我的xml中:
<CheckBox android:id="@+id/checkboxUpdateLessonPlanAll"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/chkLessonPlanAll"
android:onClick="onCheckboxClicked"/>
Run Code Online (Sandbox Code Playgroud)
在我的java中:
public void onCheckboxClicked(View view) {
//CheckBox box = (CheckBox) view;
CheckBox box = (CheckBox) findViewById(R.id.checkboxUpdateLessonPlanAll);
box.setChecked(!box.isChecked());
Log.v("qwerty", "checkbox clicked " + box.isChecked() + "!!");
}
Run Code Online (Sandbox Code Playgroud)
我可以在LogCat中看到我的日志消息,当我点击复选框但它的状态没有改变时它显示为false.它仍然没有被检查.
我的布局左侧有一个侧边栏,右侧有一个内容部分.双方都有自己的滚动条,应该占用页面的剩余高度.
我的问题是,当我设置为overflow-y: auto可以使用滚动条时,工具提示(来自Bootstrap 3)会在它离开包含时被剪裁div.
这是一个演示问题的小提琴:http://jsfiddle.net/Ljy1nc3v/3/
设置z-index在content班级乃至tooltip类不起作用.
任何帮助将不胜感激,谢谢.
我有一个File对象,我希望将该文件的最后修改日期转换为HTTP格式.格式是GMT时间,如:
Mon, 10 Feb 2014 16:17:37 GMT
Run Code Online (Sandbox Code Playgroud)
我知道java.io.File有一个lastModified()以毫秒为单位返回时间的方法.我也可以在毫秒内将该时间传递给java.util.Date类的构造函数.但是以HTTP格式获取字符串的最简单方法是什么?
谢谢.
正如标题所说,我正在尝试将字符串截断为前n个单词.
var text = $("#textarea-id").val();
var truncated = text.split(/(?=\s)/gi).slice(0, n).join('');
Run Code Online (Sandbox Code Playgroud)
这得到了我想要的东西,但问题是如果一行中有两个空白字符,那么它将其中一个空白字符作为自己的单词.如何在不改变字符串的情况下防止这种情况(除了截断)?
我已经尝试在正则表达式+之后使用量词,\s但是没有做任何事情.
所以我的模型有两个简单的关系。然后急切加载完美地像这样工作:
Entry::with('author', 'lastModifiedBy')->...;
Run Code Online (Sandbox Code Playgroud)
但是说我想添加一个需要约束的新关系。例如:
public function foo() {
return $this->hasOne('Foo')->latest('id');
}
Run Code Online (Sandbox Code Playgroud)
然后为了急切加载这种关系,Laravel 建议这样做:
Entry::with(array('foo' => function($query) use ($id) {
$query->where('user_id', $id);
}))->...;
Run Code Online (Sandbox Code Playgroud)
但是如果我想包括我author和我的lastModifiedBy关系,我最终不得不这样做:
Entry::with(array(
'foo' => function($query) use ($id) {
$query->where('user_id', $id);
},
'author' => function() { },
'lastModifiedBy' => function() { }
))->...;
Run Code Online (Sandbox Code Playgroud)
我必须给这两个关系一个空函数。没有这些空函数的丑陋,有没有更简单的方法来做到这一点?