嗨,我是 bash 脚本的新手,但不明白为什么当我尝试使用参数 20120920 5 将此函数调用的结果分配给局部变量时,我得到命令未找到错误。
#!/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)
}
但仍然没有,嗯嗯嗯