这不是一个“需要解决的问题”,而是一个关于 Bash 教学法、文学以及教师之间的共同点的问题。
在 Bash 中使用匿名/未命名过程(“lambda 表达式”)的典型用例是什么?
答案1
匿名函数在 中可用zsh
,它们提供了一种使用局部变量编写脚本部分的方法。但是,您不能将它们作为参数传递给其他函数,但是由于您可以将任意字符串传递给函数,因此您可以将姓名任何函数,然后调用它(bash
如果您愿意,今天就可以这样做)。
匿名函数看起来zsh
像这样:
() {
local myvar
# Some code using $myvar as a temporary variable,
# setting up things and possibly assigning to global variables.
} argument list here
# myvar from the function no longer exists here
该函数在定义时被调用。
我在.zprofile
文件中使用它来设置PATH
变量并处理ssh-agent
SSH 连接远程端的设置(这两件事都需要一些我不想保留的本地变量)。
手册zsh
包含以下示例代码:
variable=outside
function {
local variable=inside
print "I am $variable with arguments $*"
} this and that
print "I am $variable"
....与输出
I am inside with arguments this and that
I am outside