该脚本演示了如何使用括号定义bash函数
带括号的经文.括号具有很好的制作效果
我想,在函数“local”中创建的环境变量
因为函数体是作为子shell执行的.输出是:
带括号的经文.括号具有很好的制作效果
我想,在函数“local”中创建的环境变量
因为函数体是作为子shell执行的.输出是:
A=something A= B=something B=something
问题是这是否允许定义函数的语法.
#!/bin/bash foo() ( export A=something echo A=$A ) bar() { export B=something echo B=$B } foo echo A=$A bar echo B=$B
是的,允许使用该语法.如
bash
man page中所述,bash函数的定义是:
[ function ] name () compound-command [redirection]
更多描述(也来自手册页):
The body of the function is the compound command
compound-command
. That command is usually a list of commands between{
and}
,but may be any command listed under Compound Commands above.
()和{}括号列表是复合命令.完整列表(再次从手册页,只是编辑到一个简单的列表):
A compound command is one of the following:
06001