以下代码不提供任何输出:
$echo `cat time`
19991213100942
$a=$(echo `cat time`) | echo $a | echo ${a:0:4}
请告诉我错误的地方。
答案 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}