Linux bash:如何执行函数而不是同名命令
我将学习bash脚本,并编写了一个类似这样的小脚本用于测试:Linux bash:如何执行函数而不是同名命令,linux,bash,function,command,Linux,Bash,Function,Command,我将学习bash脚本,并编写了一个类似这样的小脚本用于测试: #!/bin/bash function time { echo $(date) } time 但是,函数不会执行,而是运行命令time 那么我需要做什么来执行函数呢 我正在运行bash4.2.45您需要将()添加到函数定义中。我不确定您是否需要那里的函数文本 应采取以下措施: #!/bin/bash get_time() { echo $(date) } get_time 已编辑:时间似乎是一个保留关键字,
#!/bin/bash
function time {
echo $(date)
}
time
但是,函数不会执行,而是运行命令time
那么我需要做什么来执行函数呢
我正在运行bash4.2.45您需要将()
添加到函数定义中。我不确定您是否需要那里的函数
文本
应采取以下措施:
#!/bin/bash
get_time() {
echo $(date)
}
get_time
已编辑:时间似乎是一个保留关键字,因此更改了函数名以运行与特殊关键字时间同名的函数,引用它,例如:
function time {
echo "$(date)"
}
'time'
注意:函数定义中“需要”的
()
不是真的。函数blah{
和blah(){
都是有效的函数定义。请参阅。@AlexanderMills它避免了将时间
解析为关键字,并将其转换为简单的命令字。您也可以对其他关键字执行此操作,如if
,[
,((
等。如果您想了解更多信息,我建议您尝试阅读源代码。