Присвоение вывода переменной с помощью команды echo
Приведенный ниже код не дает никакого вывода:
$echo `cat time`
19991213100942
$a=$(echo `cat time`) | echo $a | echo ${a:0:4}
Пожалуйста, расскажите, где я делаю ошибку.
2 ответа
a=$(echo `cat time`)
назначает вывод команды в скобках $(...)
к переменной $a
, Позже в скрипте вы можете напечатать переменную:
echo $a
Это печатает: 19991213100942
echo ${a:0:4}
Это печатает: 1999
Вы можете ссылаться на варибале по названию $a
,
Во-первых, вам не нужно 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}