我有一个包含以下文本块的文件。我在文本块之前和之后都有文本
other_user:
hash: JKJ;LKJA;LDKJF;LKJA;LKJIUR;JFKLJDQPIRQKJ;LKFJPOQJ
#password is: some_pw0
logstash:
hash: $fj;kdjjfajf;ajKFJ;dfj;dkfja;dfjFJ:LFJj;kj;lfkajs
#password is: some_pw
other_user1:
hash: JJKLJDRKJOPIQMVOIUROIJFAUROJJFIUQWKERJJFKQURJAKDJ
#password is: some_pw1
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用此代码删除 logstash 用户的块,但它没有删除它。
- name: Delete existing logstash user
blockinfile:
dest: /path_to_file/foo.yml
state: absent
block: |
logstash:
hash: $fj;kdjjfajf;ajKFJ;dfj;dkfja;dfjFJ:LFJj;kj;lfkajs
#password is: some_pw
Run Code Online (Sandbox Code Playgroud)
我希望结果是:
other_user:
hash: JKJ;LKJA;LDKJF;LKJA;LKJIUR;JFKLJDQPIRQKJ;LKFJPOQJ
#password is: some_pw0
other_user1:
hash: JJKLJDRKJOPIQMVOIUROIJFAUROJJFIUQWKERJJFKQURJAKDJ
#password is: some_pw1
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
在这里很棒的帖子的帮助下,我理解错误.但是我需要澄清一下.
假设我的托管对象上下文(模式)有3个表(实体),并且说每个实体有3个属性,其中每个条目的一个属性不是可选的.
所以现在我的应用程序第一次为第一个实体创建一个托管对象,填充其强制属性; app还没有为第二个和第三个实体创建托管对象 - 还没有.当我尝试在此时保存上下文时,我得到错误代码1570.是因为我没有填写第二个和第三个实体的值吗?
我知道sed语法在文件中的另一行之后添加一行,即
sed -i '/LINE1/a LINE2' FILE
Run Code Online (Sandbox Code Playgroud)
在FILE中LINE1之后添加LINE2是否正确?如何在末尾添加带反斜杠的行?例如,来自
This is a a line \
Indented line1 \
Indented line2 \
Line3
Run Code Online (Sandbox Code Playgroud)
至
This is a a line \
Indented line1 \
Indented line2 \
Added line \
Line3
Run Code Online (Sandbox Code Playgroud) Ansible v2.4.0.0
我正在安装Gitlab-CE,在Ansible任务中运行以下命令。如您所见,某些进程已关闭,但最终会启动。
# gitlab-ctl status
run: gitlab-workhorse: 0s, normally up
run: logrotate: 1s, normally up
down: nginx: 0s, normally up
down: postgresql: 1s, normally up
run: redis: 0s, normally up
run: sidekiq: 0s, normally up
run: unicorn: 0s, normally up
Run Code Online (Sandbox Code Playgroud)
如何编写Ansible wait_for任务来检查所有服务何时都处于运行状态?IOW我只想看到下一个任务就继续下一个任务
# gitlab-ctl status
run: gitlab-workhorse: 0s, normally up
run: logrotate: 1s, normally up
run: nginx: 0s, normally up
run: postgresql: 1s, normally up
run: redis: 0s, normally up
run: sidekiq: 0s, normally up
run: unicorn: 0s, normally …Run Code Online (Sandbox Code Playgroud) 我有以下代码
#!/usr/local/homebrew/bin/groovy
def jobs = ['Groovy', 'Rocks', 'Big', 'Time']
def generateStage(String service, Integer sleepTime=0) {
return {
sleep sleepTime
println "Hello $service"
}
}
Map generateStageMap(List list) {
Integer sleepTime = 0
Map stageMap = [:]
list.each {
stageMap[it] = generateStage(it, sleepTime)
// slightly staggered starts so we don't have too many
// request per sec to the CLI
sleepTime += 5
}
return stageMap
}
Map map = generateStageMap(jobs)
map.each {
it.value
}
Run Code Online (Sandbox Code Playgroud)
我如何让它执行 println 语句使输出看起来像这样?
Hello Groovy
Hello …Run Code Online (Sandbox Code Playgroud) 我稍后会更新,但现在...
$ terraform --version
Terraform v0.12.17
+ provider.aws v3.23.0
Run Code Online (Sandbox Code Playgroud)
./aws/credentials我在我的和文件中设置了 AWS 配置文件~/.aws/config,就像这样......
~/.aws/credentials
[default]
aws_access_key_id=****
aws_secret_access_key=****
[myprofile]
aws_access_key_id=****
aws_secret_access_key=****
~/.aws/config
[default]
region=us-east-1
output=json
[profile myprofile]
region=us-east-1
output=json
Run Code Online (Sandbox Code Playgroud)
在我的 Terraform 计划中,我有
provider "aws" {
region = "us-east-1"
profile = "myprofile"
}
terraform {
required_version = ">= 0.12.17, < 0.13"
}
resource "aws_vpc" "vpc" {
cidr_block = "10.123.123.0/24"
tags = {
Name = "test_vpc"
}
}
output "vpc_id" {
value = aws_vpc.vpc.id
}
Run Code Online (Sandbox Code Playgroud)
我有一个创建 VPC 的计划,所以我这样做了
$ export AWS_PROFILE=myprofile …Run Code Online (Sandbox Code Playgroud) 我想为安全组设置入口“Custome ICMP (IPv4)”规则,并且aws_security_group页面不清楚我需要为from_port和to_port值设置什么。它说(类似于to_port)
from_port - (Required) The start port (or ICMP type number if protocol is "icmp" or "icmpv6")
Run Code Online (Sandbox Code Playgroud)
什么是ICMP type number?如果我在 AWS 控制台中手动执行此操作,则端口默认为N/A.
我有一个厨师服务器和运行带有最新补丁的RHEL 5.10的客户端VM。当我尝试以
knife bootstrap nodename -N nodename -x root -P password
Run Code Online (Sandbox Code Playgroud)
我收到以下错误,这阻止了我的自动属性填充在服务器上。
nodename Converging 0 resources
nodename
nodename Running handlers:
nodename [2014-07-25T14:46:40-04:00] ERROR: Running exception handlers
nodename Running handlers complete
nodename
nodename [2014-07-25T14:46:40-04:00] ERROR: Exception handlers complete
nodename [2014-07-25T14:46:40-04:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
nodename Chef Client failed. 0 resources updated in 3.383781 seconds
nodename [2014-07-25T14:46:40-04:00] ERROR: "\xC3" on US-ASCII
nodename [2014-07-25T14:46:40-04:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Run Code Online (Sandbox Code Playgroud)
这是引用的堆栈跟踪
Generated at 2014-07-25 15:01:29 -0400
Encoding::InvalidByteSequenceError: "\xC3" …Run Code Online (Sandbox Code Playgroud) 更新后的描述更加清晰.
假设我有一个文件,其中包含这些行.
one
two
three
five
Run Code Online (Sandbox Code Playgroud)
如何在显示"三"的行之后添加一行"四",这样我的文件现在看起来像这样?
one
two
three
four
five
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取某个图像的docker图像ID,所以我这样做
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
123456789012.dkr.ecr.us-east-1.amazonaws.com/some-name1 60 4a625fb9a2a4 5 hours ago 3.97GB
987654321012.dkr.ecr.us-east-1.amazonaws.com/some-other-name2 365 59b27e46effc 6 days ago 3.98GB
Run Code Online (Sandbox Code Playgroud)
我希望这能给我图像ID,在这种情况下,即4a625fb9a2a4 ...
$ docker image ls | grep name1 | cut -d " " -f3
Run Code Online (Sandbox Code Playgroud)
...但是没有,它给出了一个空白。我想念什么?
这个需求是一个简单的shell脚本,因此我可以将其嵌入到Jenkinsfile管道的Groovy脚本中。