bash 中的这个结构是什么? mycommand(){做某事;}

bash 中的这个结构是什么? mycommand(){做某事;}

我实际上在 commandfu.com 上发现了以下一句话:

cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }()我以前没有在 bash 中 遇到过类似的用法。

cmdfu它似乎是在 bash 环境中临时创建命令 。我在这里说得对吗?或者它实际上存储在某个地方?这个构造有一个名称吗?以便我可以阅读它?

答案1

这是一个外壳函数。如果您在命令行创建它,它将仅在当前 shell 调用中存在。您可以将定义添加到 shell 启动文件(.bashrc、.bash_profile 等)中,这将使其“永久”。

如果您bash(1)在联机帮助页中搜索“Shell Function Definitions”,您可以看到定义 shell 函数的语法。 “函数”部分详细介绍了函数本身。

相关内容