Space 在 ksh 中的日期
Space in date in ksh
我的要求是,在 Informatica 中为参数赋值。 (我正在为参数分配时间戳)
这里我需要在日期和时间之间给出 space 作为时间戳。
我需要打印这个 03/02/2016 08:48:40.000000
我试过了
TIMESTAMP=`date +%m/%d/%Y %H:%S:%M`
但是出现错误。
Field descriptor must begin with a + (plus sign).
我还需要这样打印 $$LAST_RUN_TIME=03/02/2016 08:48:40.000000
我试过 echo "$$LAST_RUN_TIME=$TIMESTAMP"
但是 $$
正在检索一些值,所以它像这样打印 61210934LAST_RUN_TIME=03/02/2016 08:48:40.000000
您需要用双引号将格式括起来。
TIMESTAMP=$(
date "+%m/%d/%Y %H:%S:%M"
)
echo $TIMESTAMP
03/03/2016 08:04:49
date
的参数中的 space 必须被引用。有以下三种方法:
使用反斜杠:
TIMESTAMP=`date +%m/%d/%Y\ %H:%S:%M`
对于您的示例来说,这可能是最简单的,但如果需要大量引用,可能会变得笨拙。
使用单引号:
TIMESTAMP=`date '+%m/%d/%Y %H:%S:%M'`
TIMESTAMP=`date +'%m/%d/%Y %H:%S:%M'`
当你有文字参数时,这很好。
使用双引号:
TIMESTAMP=`date "+%m/%d/%Y %H:%S:%M"`
当您有需要扩展的参数时,这很好:
format='%m/%d/%Y %H:%S:%M'
TIMESTAMP=`date "+$format"`
所有这些都可以使用 $(
...)
而不是反引号,您可能会(或可能不会)发现反引号更具可读性:
TIMESTAMP=$(date +%m/%d/%Y\ %H:%S:%M)
TIMESTAMP=$(date '+%m/%d/%Y %H:%S:%M')
TIMESTAMP=$(date +'%m/%d/%Y %H:%S:%M')
TIMESTAMP=$(date "+%m/%d/%Y %H:%S:%M")
format='%m/%d/%Y %H:%S:%M'
TIMESTAMP=$(date "+$format")
顺便问一下 - 你真的想要秒比分钟早吗?如果没有,那么您可以使用 %T
代替 %H:%M:%S
.
我的要求是,在 Informatica 中为参数赋值。 (我正在为参数分配时间戳)
这里我需要在日期和时间之间给出 space 作为时间戳。
我需要打印这个 03/02/2016 08:48:40.000000
我试过了
TIMESTAMP=`date +%m/%d/%Y %H:%S:%M`
但是出现错误。
Field descriptor must begin with a + (plus sign).
我还需要这样打印 $$LAST_RUN_TIME=03/02/2016 08:48:40.000000
我试过 echo "$$LAST_RUN_TIME=$TIMESTAMP"
但是 $$
正在检索一些值,所以它像这样打印 61210934LAST_RUN_TIME=03/02/2016 08:48:40.000000
您需要用双引号将格式括起来。
TIMESTAMP=$(
date "+%m/%d/%Y %H:%S:%M"
)
echo $TIMESTAMP
03/03/2016 08:04:49
date
的参数中的 space 必须被引用。有以下三种方法:
使用反斜杠:
TIMESTAMP=`date +%m/%d/%Y\ %H:%S:%M`
对于您的示例来说,这可能是最简单的,但如果需要大量引用,可能会变得笨拙。
使用单引号:
TIMESTAMP=`date '+%m/%d/%Y %H:%S:%M'` TIMESTAMP=`date +'%m/%d/%Y %H:%S:%M'`
当你有文字参数时,这很好。
使用双引号:
TIMESTAMP=`date "+%m/%d/%Y %H:%S:%M"`
当您有需要扩展的参数时,这很好:
format='%m/%d/%Y %H:%S:%M' TIMESTAMP=`date "+$format"`
所有这些都可以使用 $(
...)
而不是反引号,您可能会(或可能不会)发现反引号更具可读性:
TIMESTAMP=$(date +%m/%d/%Y\ %H:%S:%M)
TIMESTAMP=$(date '+%m/%d/%Y %H:%S:%M')
TIMESTAMP=$(date +'%m/%d/%Y %H:%S:%M')
TIMESTAMP=$(date "+%m/%d/%Y %H:%S:%M")
format='%m/%d/%Y %H:%S:%M'
TIMESTAMP=$(date "+$format")
顺便问一下 - 你真的想要秒比分钟早吗?如果没有,那么您可以使用 %T
代替 %H:%M:%S
.