使用echo命令将输出分配给变量

时间:2015-01-13 15:29:05

标签: shell

以下代码不提供任何输出:

$echo `cat time`
19991213100942
$a=$(echo `cat time`) | echo $a | echo ${a:0:4}

请告诉我错误的地方。

2 个答案:

答案 0 :(得分:1)

a=$(echo `cat time`)

将括号$(...)内的命令输出分配给变量$a。 稍后在脚本中,您可以打印变量:

echo $a

打印:19991213100942

echo ${a:0:4}

打印:1999

您可以通过名称$a引用varibale。

答案 1 :(得分:1)

首先,您不需要echo cat time的输出:只需cat time

其次,正如@Etan所说(有点),用分号或换行符替换管道

a=$(< time)    # a bash builtin, equivalent to but faster than: a=$(cat time)
echo $a
echo ${a:0:4}