Cygwin用户里(虽然如果有一个合适的解决办法,我会带着它上到K/Ubuntu,这也是我使用)。

我有一个受欢迎的消息在我的。更改,看起来像下:

SAD=(`date +%A-%B-%d-%Y`)
DUB=(`date -u +%k:%M`)
printf "Today's Date is: ${SAD}.\n"
printf "Dublin time is now ${DUB}. (24-Hour Clock)\n"

经过无数次尝试使用空格中的可变伤心上,我给和使用连字符。但是我可以理解的是,不满意这个带的援助方案。这个问题,因为我回想一下,是的,每次我试图使用引用空间\s或一些类似的逃生标签,随着变量列在适当的部分GNU平对 日期, ,变为年被忽视或返回的一个错误。我做什么不想要做的就是度假村的全串为返回的 日期, ,而是要保持秩序,我有东西在代码以上。

因为我写此,它发生,我认为设置IFS围绕这些代码为欢迎信息可能的工作,提供我回到违约之后(上述出现的在线13日至17日的一68线。更改).然而,我不能回想一下如何做到这一点,我也不肯定它会的工作。

一般讲,.更改的文件是有效的庆典语法,不是吗?我肯定类似的脚本我要么写自己或进行测试从其他来源。所有我失,我想,是用于设定和取消领域的隔板围绕这个消息块。

毫无疑问的任何人来了一个解决方案将是这样做的一个有利于不仅给我,而是任何其他相对新手在网络上把他们的第一个(或第十三通过第十七)的步骤在世界上的外壳脚本。

BZT

有帮助吗?

解决方案

SAD=$(date "+%A %B %d %Y")
DUB=$(date -u +%k:%M)
echo "Today's Date is: ${SAD}."
echo "Dublin time is now ${DUB}. (24-Hour Clock)"

.bash_profile 印刷品

Today's Date is: Thursday February 18 2010.
Dublin time is now 12:55. (24-Hour Clock)

我想这就是你想要的。

其他提示

问题是你的阵宣言》。

SAD=(date +%A-%B-%d-%Y) 只是意味着你把string"日期"作为单元0,"+%A%B%d%Y"作为元件1。看看自己

$ SAD=(date +%A-%B-%d-%Y)  #<-- this is an array declaration
$ echo ${SAD[0]}
date
$ echo ${SAD[1]}
+%A-%B-%d-%Y

如果你想要的价值"日期"指令是在一个变量使用 $(..), 例

$ SAD=$(date +%A-%B-%d-%Y)
$ echo ${SAD}
Thursday-February-18-2010

为获得空间,需要引用的参数 date 因此,它是一个单一串。你还错误地声明 SADDUB 如阵列,什么时候你真的意味着要做的就是评估它们。试试这个:

[/tmp]> $(date "+%A %B %d, %Y")
Thursday February 18, 2010

date +%A\ %B\ %d\ %Y

我发现组合的工作:
SAD=$(date "+%A %B %d %Y")
echo $SAD
星期四月18 2010年

又一个实例,当:

  1. 它支付问一个问题
  2. 它有助于了解在哪里把你的双引号。
    日期 显然不知道从引用的空间,但巴什么,所以
    这是一个问题的"窃窃私语的权利的耳朵。"

谢谢你ghostdog74.

BZT

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top