在bash函数调用中找不到命令

时间:2012-09-27 07:56:26

标签: bash shell date

嗨,我是bash脚本的新手,但是当我尝试使用参数20120920 5向本地变量分配此函数调用的结果时,我无法理解为什么我得到命令未找到错误。< / p>

    #!/bin/bash

function nDaysAgo () #date # daysago
{
 date -d "${1} - ${2} days" +%Y%m%d;
}

所以脚本名称是ndaysago,我首先调用脚本。 ndaysago然后分配这样的值:

newdate= nDaysAgo 20120910 5

打印:20120905:找不到命令

意味着执行日期但后来尝试将输出用作命令,这不是我所期望的。

我也尝试将新值分配给函数中的变量,如下所示:

#!/bin/bash

function nDaysAgo () #date # daysago
{
 var=$(date -d "${1} - ${2} days" +%Y%m%d)
}

但仍然没有,mmmmmm

1 个答案:

答案 0 :(得分:4)

分配变量时,=周围不允许有空格。要调用函数,您应该使用名为command substitution$(...)语法。

更改为:

newdate=$(nDaysAgo 20120910 5)