我一直想知道它们是用来干什么的?

function_name () {
    #statements
}

在函数的开头加上function关键字有什么好处/坏处吗?

function function_name () {
    #statements
}

推荐答案

由于POSIX spec的可移植性,关键字function被弃用为function_name()

函数是一个用户定义的名称

函数定义的格式

fname() compound-command[io-redirect ...]

请注意,{ }不是必需的,因此如果您不打算使用关键字function(而且不应该使用),那么()是必需的,以便解析器知道您正在定义一个函数.

例如,这是一个合法的函数定义和调用:

$ myfunc() for arg; do echo "$arg"; done; myfunc foo bar
foo
bar

Linux相关问答推荐

仅查找并保留有效邮箱并删除无效记录,AWK

如果列小于 X,linux 合并行

如何使用 shell 脚本查找具有最大上下文长度的行号?

使用 sed 从文本文件中删除特定字符串

如何使用awk或其他方法提取双引号中的子字符串?

如何重新安装最新的 cmake 版本?

如何使用 gcc 编译为程序集

如何在 shell 脚本中只读取一个字符

在 Bash 中识别接收到的信号名称

如何有效地使用 grep?

Linux 非阻塞 fifo(按需日志(log)记录)

为什么 XGrabKey 会生成额外的聚焦和聚焦事件?

如何在 UNIX 上的 $PATH 中转义冒号 (:)?

未定义的引用 'shm_open',已在此处添加 -lrt 标志

让 Tk 看起来像一个原生 Linux 应用程序

在 VIM 中搜索和替换导致尾随字符

Monit 守护程序 - 连接到 monit 守护程序时出错

解压tar tar.bz2 文件报错

crt1.o:在函数_start中:-Linux 中未定义对main的引用

什么是 linux 脚本中的 start-stop-daemon?