我有这样的代码
var="before"
echo "$someString" | sed '$someRegex' | while read line
do
if [ $condition ]; then
var="after"
echo "$var" #first echo
fi
done
echo "$var" #second echo
在这里,第一个回显是在“之后”,而第二个是在“之前”。如何在“之后”进行第二次回显打印。我认为是因为购买烟斗,我不知道该如何解决。
感谢您的解决方案…
答案编辑:
我更正了它,并且效果很好。感谢eugene的有用回答
var="before"
while read line
do
if [ $condition ]; then
var="after"
echo "$var" #first echo
fi
done < <(echo "$someString" | sed '$someRegex')
echo "$var" #second echo
出现这种现象的原因是,while
循环是管道的一部分时,在子外壳中运行。对于while
上面的循环,将创建一个具有其自己的变量副本的新子外壳var
。
请参阅本文以获取可能的解决方法:我在管道循环中设置变量。为什么它们在循环终止后消失了?或者,为什么我不能通过管道读取数据?。
问题内容: 有人可以告诉我使用Selenium Ide从文本中仅提取数字(694575)并将其放入变量中以便进一步使用的命令。这是带有文本的div: 在这种情况下,可能像storeText,storeEval这样的命令应该可以使用,但是带有粘贴的部分对我来说是个谜。 问题答案: 我有解决办法,棘手的1 试试这个1,让我知道它是否对您有用
我正在powershell中编写一个小脚本,希望以特定格式构建一个变量。 当我打印该值时,该值显示为- 我希望输出是- 在这种情况下,如何将变量值放在“”(双引号)内。
我正在尝试编写一个小测试,登录到我选择的页面。我想将我的电子邮件地址写入登录字段,然后按按钮登录。然而,我收到一个错误,我在我的fillField函数中错过了参数。 [ArgumentCountError]函数AcceptanceTester::fillField()的参数太少,1在C:\Users\Henrikas\tests\acceptance\LoginCest中传递。第11行和第2行的p
我们想在json响应中添加一些变量,但是内部方面。 我们有以下方面: 我们需要做一些类似于在这个函数中所做的事情,但不是请求,而是响应。 我们想要注入方面的方法是:
我试图在shell脚本中创建一个时间戳变量,以使日志记录更加容易。我希望在脚本的开头创建变量,并让它在发出时打印出当前时间。事实证明,这比我想象的要困难得多。以下是我尝试过的一些事情: 我尝试过的其他东西只是轻微的变化,没有更好的效果。有人知道如何完成我想做的事吗?
我在使用GetCircleArea()方法时遇到问题。请帮忙。我坐在这里,不知道该怎么办了。 非常感谢。寻找答案!