从bash中的确切日期开始打印星期几

时间:2015-10-25 17:55:24

标签: bash

我正在尝试打印指定日期的星期几。 这个命令效果很好:

TARGET=$(date -u -d'2015-10-25' '+%u') 

但是在我的bash脚本里面有一个错误,应该是什么错误?

#!/bin/bash
day=25
month=10
year=2015
command1='date -u -d'
command3=''\'
command2=$year-$month-$day
fullcommand=$command1$command3$command2$command3' '$command3'+%u'$command3
echo $fullcommand
TARGET=$($fullcommand)
echo $TARGET

有一个错误:

date: the argument ‘'+%u'’ lacks a leading '+';

2 个答案:

答案 0 :(得分:2)

无需使用如此多的临时变量,并且在单个引用中明确地转义单引号将无法在shell中运行

像这样简化:

#!/bin/bash
day=25
month=10
year=2015
command1='date -u -d'
TARGET=$(date -u -d "$year-$month-$day" '+%u')
echo $TARGET

答案 1 :(得分:1)

这有效:

#!/bin/bash
day=25
month=10
year=2015
command1='date -u -d'
command3=''\'
command2=$year-$month-$day
fullcommand="$command1 $command2 +%u"
echo $fullcommand
TARGET=$($fullcommand)
echo $TARGET

虽然

,但我没有答案