gpt4 book ai didi

bash - 可以在 Bash 中扩展函数吗?

转载 作者:行者123 更新时间:2023-11-29 09:21:39 26 4
gpt4 key购买 nike

如果我在文件中定义一个函数,比如 test1.sh:

#!/bin/bash

foo() {
echo "foo"
}

稍后,test2.sh,我尝试重新定义 foo:

#!/bin/bash

source /path/to/test1.sh
...
foo() {
...
echo "bar"
}
foo

有没有办法改变test2.sh来产生:

foo
bar

我知道可以使用 command 来处理 Bash 内置函数,但我想知道是否可以扩展用户函数?

最佳答案

我不知道这样做的好方法(但我很想被证明是错误的)。

这是一个丑陋的方式:

# test2.sh
# ..
eval 'foo() {
'"$(declare -f foo | tail -n+2)"'

echo bar
}'

关于bash - 可以在 Bash 中扩展函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25174314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com