我有一个bash脚本,我使用$检查上次运行命令的退出代码?变量,但现在我正在执行一个C程序(从该脚本),如果程序成功执行,它返回0.有什么方法可以在我的bash脚本中捕获C程序的返回值吗?
我相信不同的命令,如awk,sed等都是用C语言编写的.他们如何使用$?将退出代码存储在其中?如何让我的C程序将其退出代码存储在$ ??
我希望我的问题很明确.
您好在x86机器上使用以下命令(使用/ bin/sh)返回: <port>3<port>
test="port 3"
echo $test | sed -r 's/\s*port\s*([0-9]+)\s*/<port>\1<\/port>/'
Run Code Online (Sandbox Code Playgroud)
但在基于ARM的网络交换机的sh shell上运行相同的命令会返回该字符串port 3
.
如何在我的x86机器上获得与开关相同的结果?对我来说,似乎数字没有被[0-9]捕获.
尝试应用正则表达式,不允许带有双下划线的字符串
[a-z][a-z0-9_-]+[^__]
Run Code Online (Sandbox Code Playgroud)
但它在很多情况下都失败了:
ab_ doesn't matches whereas it should
ab__c_ matches whereas it shouldn't.
Run Code Online (Sandbox Code Playgroud) 我有一个父母和一个孩子的div。父级只有一张图像。子 div 有另一个图像。子图像需要出现在父图像的左上角,我想将子图像absolute
的位置设置为将父图像的位置设置为某个非静态位置,例如relative
or absolute
。(我也设置了left
,top
但让我们暂时忘记它。)
这是因为absolute
子元素的设置仅在其第一个祖先以非静态方式定位时才起作用,因为根据 W3Schoolsabsolute
意味着该元素相对于其第一个定位(非静态)祖先元素定位。
但是我注意到即使我没有设置父级的位置(即默认情况下它的位置将是“静态”),事件然后子图像仍然很好地定位在左上角。
有人可以帮助我理解为什么我不必将父级的位置设置为某个非静态值以使该absolute
属性正常工作吗?还是我理解absolute
错误?
<div class="parent">
<img src="https://lh4.ggpht.com/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300">
<div class="child">
<img src="http://xiostorage.com/wp-content/uploads/2015/10/test.png" width="200">
</div>
</div>
/*.parent {
position:relative;
}*/
.child {
display:none;
position:absolute;
left:0;
}
.parent:hover .child {
display:initial;
}
Run Code Online (Sandbox Code Playgroud)
更新: Connexo帮助更新了代码。
尝试取消position
对父母的注释以解开谜团。接受的答案有更多信息。
<h1>
Positioning test
</h1>
<div class="parent">
<img src="https://lh4.ggpht.com/wKrDLLmmxjfRG2-E-k5L5BUuHWpCOe4lWRF7oVs1Gzdn5e5yvr8fj-ORTlBF43U47yI=w300">
<div class="child">
<img src="http://xiostorage.com/wp-content/uploads/2015/10/test.png" width="200">
</div>
/*
.parent …
Run Code Online (Sandbox Code Playgroud) 我在我的 d3 图中添加了几个圆圈,如下所示:
this.node = this.svg.append('g')
.attr('class', 'nodes')
.selectAll('circle')
.data(graph.nodes)
.enter().append('circle')
.attr('r', 5)
.attr('fill', (d) => { return this.color(d.group); })
.on('click', this.mouseclick)
.call(d3.drag()
.on('start', this.dragstarted)
.on('drag', this.dragged)
.on('end', this.dragended));
Run Code Online (Sandbox Code Playgroud)
就像d.group
上面使用的那样,我d.error
在我的数据中存在一个是true
或false
. 如果在附加(或稍后?)时d.error === true
如何为同一节点显示红色边框?
即使表中没有行,我也试图占用所有垂直空间.clr-datagrid是否可以自定义?似乎我必须手动覆盖flexbox属性.datagrid-host
并.datagrid-overlay-wrapper
使其沿列方向增长.
我甚至尝试过,但数据网格似乎没有垂直增长.
说,我有一个组件,其用法如下:
<health-renderer
[health]="getHealth()"
[label]="label">
<health-renderer>
Run Code Online (Sandbox Code Playgroud)
从https://angular.io/guide/template-syntax读取与数据绑定相关的部分后,似乎我设置目标组件属性的方式health
是错误的,因为所使用的模板表达式getHealth()
是一种方法。方法绑定应该仅通过事件完成,而不是属性。换句话说,模板表达式(位于右侧的东西=
)必须是模板变量,模板引用变量或组件/指令/元素属性。
如果[target]="methodCall()"
做绑定的方法错误,那么为什么Angular会允许呢?如果这是进行绑定的正确方法,那么我在上一段中给出的理解是错误的吗?
另外,我该如何修改代码以反映以下方面的正确内容:
getHealth(): integer
,其中包含用于计算运行状况的业务逻辑。0不会在健康进度条上显示任何内容。100将填满进度条。最后,我注意到每次鼠标移动或单击时,getHealth()都会被无故调用10-20次。由于Angular的这种变化检测行为,将方法绑定到目标属性可能不是一个好习惯吗?
是否有一个脚本我可以用来复制我的硬盘的某些特定部分?
我的Harddisk实际上有两个分区,比如A和B. 两者都是相同的大小.我想要的是运行一个程序,开始将数据从A的起始扇区复制到B的起始扇区,直到A的结束扇区被复制到B的结束扇区.
寻找可能的解决方案......
非常感谢
理论:
我在开始时做了大约100个承诺,然后用它来解决它们Promise.all()
.
这100个承诺中的每一个依次进行一些异步REST调用,其响应可能主要变化(例如由于网络连接).
解决所有100个承诺的过程大约需要20秒.在此期间,应向用户提供进度的实时反馈,以使他保持参与.
为了实现这些异步操作的进度,我想在客户端使用progressCounter,它的值将在每个promise被解析后立即更新.
事情是,如果progressCounter = 1并且所有这些操作都是异步的,我担心会遇到一种竞争条件,例如,由两个不同的promises检索的progressCounter的当前值可能会被发现为1,因此他们可能会尝试增加progressCounter因为竞争条件,所以最终值不会是3.
实验: 我尝试重现这个理论但不能使用以下内容:
var progress = {};
progress.counter = 1;
var promise1 = new Promise(function(resolve, reject) {
resolve();
});
var promise2 = new Promise(function(resolve, reject) {
resolve();
});
promise1.then(function() {
progress.counter += 1;
});
promise2.then(function() {
progress.counter += 1;
});
setTimeout(function() {
alert(progress.counter); // progress.counter: 3
}, 1000);`
Run Code Online (Sandbox Code Playgroud)
问题: 问题是否可以在上面的理论中描述这样的竞争条件?如果没有,理论有何缺陷?如果是,那么跟踪承诺解决进度的好方法是什么?
linux ×3
javascript ×2
angular ×1
asynchronous ×1
bash ×1
c ×1
clarity ×1
css ×1
css-position ×1
d3.js ×1
embedded ×1
php ×1
promise ×1
regex ×1
sed ×1