小编Jac*_*hen的帖子

ed 命令:从第 1 行删除直到第一个空行

我从教科书中看到了这段代码;这本书只说这1,/^[ ]*$/d 意味着“从第 1 行删除,直到第一个空行”。每个字符的具体含义是什么?

ed $1 << EOF
    1,/^[ ]*$/d
    w
    q
EOF
Run Code Online (Sandbox Code Playgroud)

ed

6
推荐指数
1
解决办法
704
查看次数

带选项 -t 的声明有什么用

如果调用命令help declare. 您将看到以下信息:

-t NAME :  to make NAMEs have the `trace' attribute
Run Code Online (Sandbox Code Playgroud)

是否有任何示例演示此选项的使用。我认为这与命令的作用相同,set -o functrace只是它仅适用于参数而不是所有函数。

这个问题的动机是我想要一个函数 foo 继承一个陷阱。所以我试过了,declare -t foo但没有用。

我当然可以使用set -o functrace让所有函数都继承一个陷阱,但有些情况下我只希望一两个函数继承一个陷阱。

这是脚本:

function foo {
    var=1
    var=2
    var=3
}

declare -t foo

var=0

trap 'echo var is $var' DEBUG
    foo
trap - DEBUG    # turn off the DEBUG trap
Run Code Online (Sandbox Code Playgroud)

这是脚本的输出:

var is 0
var is 3
Run Code Online (Sandbox Code Playgroud)

我期待得到类似的东西:

var is 0
var is 1
var is 2
var is 3
Run Code Online (Sandbox Code Playgroud)

bash shell-script function trap

5
推荐指数
1
解决办法
555
查看次数

标签 统计

bash ×1

ed ×1

function ×1

shell-script ×1

trap ×1