Kof*_*Kof 18 bash arguments date
我试图在bash脚本中计算动态天数的日期.
这就是我所做的 -
#!/bin/bash
STAMP=`date --date='$1 day ago' +%y%m%d`
Run Code Online (Sandbox Code Playgroud)
但在跑步时myscript 2,它说 -
date: invalid date `$1 day ago'
Run Code Online (Sandbox Code Playgroud)
如何在此公式中使用我的参数值?
Kof*_*Kof 18
如果'替换为'在脚本上的此命令中,它可以工作 -
STAMP=`date --date="$1 day ago" +%y%m%d`
Run Code Online (Sandbox Code Playgroud)
线索是错误响应中使用的两个不同的字符`和' -
date: invalid date `$1 day ago'
Run Code Online (Sandbox Code Playgroud)
bash脚本编写专家(不是我)可以解释为什么会发生这种情况.
这是因为变量替换不会在单引号中发生,即'$1' 不会扩展但"$1"会发生.
就这样说
STAMP=`date --date="$1 day ago" +%y%m%d`
Run Code Online (Sandbox Code Playgroud)
要么
STAMP=$(date --date="$1 day ago" +%y%m%d)
Run Code Online (Sandbox Code Playgroud)
会工作.