相关疑难解决方法(0)

Bash中的动态变量名称

我对bash脚本感到困惑.

我有以下代码:

function grep_search() {
    magic_way_to_define_magic_variable_$1=`ls | tail -1`
    echo $magic_variable_$1
}
Run Code Online (Sandbox Code Playgroud)

我希望能够创建一个包含命令的第一个参数并带有例如最后一行的值的变量名ls.

所以说明我想要的东西:

$ ls | tail -1
stack-overflow.txt

$ grep_search() open_box
stack-overflow.txt
Run Code Online (Sandbox Code Playgroud)

那么,我应该如何定义/声明$magic_way_to_define_magic_variable_$1以及如何在脚本中调用它?

我已经试过eval,${...},\$${...},但我仍然感到困惑.

variables syntax bash dynamic

135
推荐指数
8
解决办法
16万
查看次数

在Bash脚本中引发错误

我想在Bash脚本中引发错误,消息"Test cases Failed !!!".在Bash中如何做到这一点?

例如:

if [ condition ]; then
    raise error "Test cases failed !!!"
fi
Run Code Online (Sandbox Code Playgroud)

linux error-handling bash shell

84
推荐指数
5
解决办法
6万
查看次数

将-x调试命令捕获到Bash中的文件中

set -x在bash中使用将shell扩展命令打印到stderr.我想将它们重定向到文件或管道.但不是整个输出 - 只有一些命令.就像是:

set -x command.txt  ### <-- command.txt param is made up
echo $A $B
set +x
Run Code Online (Sandbox Code Playgroud)

这会将调试输出发送到命令.文本.

可以这样做吗?

debugging bash

15
推荐指数
1
解决办法
6048
查看次数

标签 统计

bash ×3

debugging ×1

dynamic ×1

error-handling ×1

linux ×1

shell ×1

syntax ×1

variables ×1