Bash 在Shell中将字符串转换为日期时出错

Bash 在Shell中将字符串转换为日期时出错,bash,shell,syntax,Bash,Shell,Syntax,您好,当我尝试执行以下代码时,出现以下错误: date_input= '2015-01-25' date_parameter=$(date -d `echo $date_input` +%s) min_date=$(date -d 2015-11-01 +%s) max_date=$(date -d $(date +"%Y-%m-%d") +%s) if [ "$date_parameter" -gt "$max_date" ] || [ "$date_parameter" -lt "$mi

您好,当我尝试执行以下代码时,出现以下错误:

date_input= '2015-01-25'
date_parameter=$(date -d `echo $date_input` +%s)

min_date=$(date -d 2015-11-01 +%s)
max_date=$(date -d $(date +"%Y-%m-%d") +%s)

if [ "$date_parameter" -gt "$max_date" ] || [ "$date_parameter" -lt "$min_date" ]; then

错误->[::需要整数表达式

删除第一行
=
之后的空格。

删除第一行
=
之后的空格。

您可以使用以下方法修复脚本:

date_input='2015-01-25'
date_parameter=$(date -d "$date_input" '+%s')
min_date=$(date -d 2015-11-01 '+%s')
max_date=$(date '+%s')

[[ $date_parameter -gt $max_date || $date_parameter -lt $min_date ]] &&
  echo "ok" || echo "nope"

您可以使用以下方法修复脚本:

date_input='2015-01-25'
date_parameter=$(date -d "$date_input" '+%s')
min_date=$(date -d 2015-11-01 '+%s')
max_date=$(date '+%s')

[[ $date_parameter -gt $max_date || $date_parameter -lt $min_date ]] &&
  echo "ok" || echo "nope"

请看一看:请看一看:date_input=$1它实际上是脚本的输入参数date_input=$1它实际上是脚本的输入参数