我想开始从shell脚本中的下面数组的第二个元素迭代数组.
number=${number:-(12 20 43 45 67 40)}
Run Code Online (Sandbox Code Playgroud)
你能帮我解决一下如何使用For循环从第二个元素开始迭代(在本例中为20)
for i in ${number[@]}
Run Code Online (Sandbox Code Playgroud)
提前致谢.
空手道是否支持您可以在场景中定义变量并在同一功能文件中的其他场景中重用它的功能。我尝试做同样的事情,但出现错误。在同一特征文件中重用变量的最佳方法是什么?
Scenario: Get the request Id
* url baseUrl
Given path 'eam'
When method get
Then status 200
And def reqId = response.teams[0]resourceRequestId
Scenario: Use the above generated Id
* url baseUrl
* print 'From the previous Scenario: ' + reqId
Run Code Online (Sandbox Code Playgroud)
错误:
Caused by: javax.script.ScriptException: ReferenceError: "reqId" is not defined in <eval> at line number 1
Run Code Online (Sandbox Code Playgroud) 我试图通过以下json从以下json中删除重复项id
:
{
"Result": [
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 4740302
},
{
"name": "validation-of-art",
"id": "12",
"status": "passed",
"duration": 272320
},
{
"name": "validation-of-art",
"id": "13",
"status": "passed",
"duration": 272320
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
jq -r 'unique_by(.Result.name)'
Run Code Online (Sandbox Code Playgroud)
还有 jq 'unique_by(.Result[].name)'
我遇到错误- Cannot index array with string "Result"
任何帮助将不胜感激。
我正在使用 Mongo java 驱动程序从 mongo 集合中检索数据。我有以下查询,我试图在 java 中实现:Json 是:
{
"_id" : ObjectId("56cd284767c74d3d4dd3ec80"),
"comments" : "Hello",
"statusLog" : [
{
"status" : "Submitted",
"startDate" : ISODate("2015-01-14T05:00:00.000Z"),
"endDate" : ISODate("2016-02-29T21:24:24.740Z")
},
{
"status" : "Active",
"startDate" : ISODate("2016-02-29T21:24:24.740Z")
}
],
"createdDate" : ISODate("2015-01-14T05:00:00.000Z")
}
Run Code Online (Sandbox Code Playgroud)
蒙戈查询:
db.CollectionName.find({},{_id: 0, createdDate:1, "statusLog": {$elemMatch: {"status":"Submitted"}}});
Run Code Online (Sandbox Code Playgroud)
这是我用java编写的查询(mongo java driver 3.4.2):
BasicDBObject query = new BasicDBObject(new BasicDBObject("statusLog",
new BasicDBObject("$elemMatch", new BasicDBObject("status", "Submitted"))));
Run Code Online (Sandbox Code Playgroud)
运行 java 代码会返回所有状态日志,而不是我正在查找的状态日志。
任何帮助将不胜感激。
我正在使用来自 Karate API 框架的path关键字来连接字符串以形成一个 url。但是,我无法通过“?”。这是我在做什么:
Background:
* url 'https://api.cloud.abcde.com/animal/'
Scenario: Verify the get status
Given path 'herbivore?id=25'
When method get
Then status 200
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我看到“?” 作为 %3F 传递。我试图使用 \ 来逃避它,并尝试了其他一些答案,但没有成功。我需要使用 url 编码吗?任何指示或帮助将不胜感激。谢谢
我在 jenkins 文件中使用 Choice 参数来选择环境,如下所示:
pipeline {
agent any
parameters {
choice(
name: 'ENVIRONMENT_URL',
choices: "https://beta1.xyz.com\nhttps://beta2.xyz.com\nhttps://beta3.xyz.com",
description: 'interesting stuff' )
}
Run Code Online (Sandbox Code Playgroud)
在本Stage节中,我有以下内容
stage('execute tests') {
steps {
script {
sh """URL=${ENVIRONMENT_URL} npm run e2e:tests"""
sh 'echo -e "\nTest Run Completed.\n"'
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我通过选择添加的选择参数来运行管道作业时,将执行以下操作(插入的选择参数会创建换行符):
+ URL=https://beta1.xyz.com
+ npm run e2e:tests
Run Code Online (Sandbox Code Playgroud)
使用变量会导致换行,这就是导致问题的原因。我尝试了不同的方法来避免换行。尝试使用变量,但这没有帮助。尝试使用不同的报价,但也没有。
我该怎么做才能避免断线?
我试图使用过滤器和映射的概念,而不是使用{for}循环遍历数组。
这是我的旧代码。我正在传递一个数组来过滤和组合匹配的字符串。
function oldFunction(data) {
let dataDeleted = '';
let each
for (each of data) {
if (each.includes('_DELETE')) {
dataDeleted = dataDeleted + each.substring(0, each.length - 7) + '###';
}
}
dataDeleted = dataDeleted;
console.log(dataDeleted);
}
oldFunction(['meow_DELETE', 'haga', 'Neigh_DELETE']);
Run Code Online (Sandbox Code Playgroud)
输出为: 'meow###Neigh###'
现在,当我尝试使用“过滤器”和“减少”方法时,它似乎不起作用:
function newMethod(data) {
const dataDeleted = data
.filter(d => d.includes('_DELETE'))
.reduce((deletedData, d) => {
deletedData.concat(`${d}### `);
}, '');
console.log(dataDeleted);
return dataDeleted;
}
Run Code Online (Sandbox Code Playgroud)
这将返回“未定义”。有指针吗?提前致谢。