将命令存储到变量中?

时间:2013-11-05 15:56:00

标签: linux shell

clock=date "+%d %b %Y:%H:%M:%S %s"
echo "Welcome ! it is now: \n"
echo $clock

clock变量实际上并没有像我期望的那样从date命令获得输出。为什么呢?

2 个答案:

答案 0 :(得分:2)

要将命令输出转换为变量,您需要使用var=$(command)语法。因此,如果你使用它将会起作用:

clock=$(date "+%d %b %Y:%H:%M:%S %s")
echo -e "Welcome ! it is now: \n"
echo $clock

此外,

  • 要打印新行,您需要指定echo -e
  • %H:%M:%S日期格式可以缩减为%T

一起可以是:

printf "Welcome ! it is now: \n%s\n" "$(date "+%d %b %Y:%T %s")"

答案 1 :(得分:0)

clock=`date "+%d %b %Y:%H:%M:%S %s"`
echo "Welcome ! it is now: \n"
echo $clock