小编Hei*_*bug的帖子

关于在 Linux shell 中将函数传递给子进程的问题

我正在做 Shellshock 实验室,本教程提供了一种通过环境变量将函数传递给子进程的方法:

$ foo='() { echo "hello"; }'
$ export foo
$ /bin/bash
$ foo
hello
Run Code Online (Sandbox Code Playgroud)

然而,当我在 Ubuntu 20.04 上尝试这个时,foo并没有转换为子进程中的函数。

$ foo='() { echo "hello"; }'
$ export foo
$ /bin/bash
$ foo
Command 'foo' not found, did you mean: ...
Run Code Online (Sandbox Code Playgroud)

有什么我错过的吗,或者这种方法只适用于某些版本的 bash?

bash shellshock

3
推荐指数
1
解决办法
623
查看次数

标签 统计

bash ×1

shellshock ×1