这是一种在bash中禁用函数并强制内置执行的方法吗
我正在为这是一种在bash中禁用函数并强制内置执行的方法吗,bash,function,Bash,Function,我正在为测试内置编写一个包装函数,该函数假设在每次测试后打印出返回值: # function test() { test $*; echo $?; } 当然,当我运行它时,它会递归地运行,每次到达test时都会调用它自己,因为在函数列表之后会检查内置列表。这是一种将搜索限制为内置的方式吗?例如,在它前面加上一些魔术字符串?是的,有适当命名的魔术字符串、内置的和命令: $ function test() { command test $*; echo $?; } # Looks for te
测试
内置编写一个包装函数,该函数假设在每次测试后打印出返回值:
# function test() { test $*; echo $?; }
当然,当我运行它时,它会递归地运行,每次到达
test
时都会调用它自己,因为在函数列表之后会检查内置列表。这是一种将搜索限制为内置的方式吗?例如,在它前面加上一些魔术字符串?是的,有适当命名的魔术字符串、内置的和命令
:
$ function test() { command test $*; echo $?; } # Looks for test in PATH.
$ test foo
0
$ test 1 -gt 2
1
$ function test() { builtin test $*; echo $?; } # Uses builtin.
$ test 1 -gt 0
0
命令
方式的优点是它是POSIX,而内置
则不是。是的,有适当命名的魔术字符串,内置
和命令
:
$ function test() { command test $*; echo $?; } # Looks for test in PATH.
$ test foo
0
$ test 1 -gt 2
1
$ function test() { builtin test $*; echo $?; } # Uses builtin.
$ test 1 -gt 0
0
命令
方式的优点是它是POSIX,而内置
不是。你不能重命名包装器函数吗?$help-builtin
@DigvijayS,不,我想包装一个真正的测试内置,你不想重命名包装器函数吗?$help-builtin
@DigvijayS,不,我想包装一个真正的测试内置