我有一个shell脚本,我想使用block of code(docs)捕获它的输出。
此外,我想在我写输出的文件名中使用该代码块的变量的值,不幸的是,这是不起作用的。
我如何重新使用文件名中的代码块中的变量?
最小示例
这是一个虚拟脚本,显示我正在做什么。我有GNU bash, version 5.0.17
:
{
v=1
echo $v
} >> output-$v.log 2>&1
我设置了一个变量,运行一些命令,并希望将stdout和stderr存储在一个文件中,该文件名中包含了变量(在本例中为output-1.log
)。
但是,这会写出一个文件output-.log
,就好像$v
变量不存在一样。
我所尝试的
如果我在代码块后面加上分号;
:
{
v=1
echo $v
}; >> output-$v.log 2>&1
文件output-1.log
已创建,但仍为空
1条答案
按热度按时间gijlo24d1#
在设置重定向之前初始化变量: