Shell:将变量插入命令中

Oma*_*r14 -1 unix linux bash shell date

我试图找到一种方法,在此命令中使用变量将 -10 替换为 n_days var:

   n_days= -10
   date_prefix=$(date -d '-10 day' +%Y/%m/%d)
Run Code Online (Sandbox Code Playgroud)

我尝试了这种方法,但没有成功:

   date_prefix=$(date -d '${n_days} day' +%Y/%m/%d)
Run Code Online (Sandbox Code Playgroud)

arc*_*444 6

两件事情:

  1. 正确声明您的变量(您的示例中有一个空格)
  2. 使用双引号代替单引号以允许对变量进行插值

所以:

n_days=-10
date_prefix=$(date -d "$n_days day" +%Y/%m/%d)
Run Code Online (Sandbox Code Playgroud)