bash正在用空间取代冒号,我该如何保留冒号?

时间:2012-12-08 06:24:52

标签: bash shell

我正在尝试回应兼容的MySQL datetime wit bash并且它一直用空格替换冒号。

关于如何防止它们被替换的任何想法?

另外,我试图将sed替换为冒号的空格,但它们仍然以空格形式出现,这里的交易是什么?

#!/bin/bash
now=$(date +"%Y-%m-%d %H:%M:%S") 
EXECUTED=$(php evaluate.php $now)

预期成果:2012-12-08 06:34:00

evaluate.php

var_dump($argv)

1 个答案:

答案 0 :(得分:1)

您需要在PHP脚本的参数周围加上双引号,以便在单个参数中保留空格:

#!/bin/bash
now=$(date +"%Y-%m-%d %H:%M:%S") 
EXECUTED=$(php evaluate.php "$now")

这是否足够是另一回事。您的PHP脚本似乎缺少PHP标记。

$ php evaluate.php "$now"
array(2) {
  [0]=>
  string(12) "evaluate.php"
  [1]=>
  string(19) "2012-12-07 22:39:46"
}
$

evaluate.php

<?php
var_dump($argv)
?>