перенаправление вывода команды в переменную и стандартный вывод в ksh

У меня есть некоторая команда оболочки. Я хочу записать вывод в стандартный вывод и сохранить его в переменную. Я хотел бы решить эту проблему одной командой. Я пробовал эти вещи.

ls > $VAR          # redirects the output to file which name is stored in $VAR
ls | tee -a $VAR   # writes to standard output as well as in file which name is stored in $VAR
VAR=`ls`           # output into $VAR, but it is not sent to standard output
VAR=`ls`;echo $VAR # ok, it works but these are two commands

Есть идеи?

23
задан Attila Zobolyak 26 October 2011 в 11:37
поделиться

1 ответ

отличный ответ от @Gary_Barker, но это возможно не во всех системах.

В нашей команде нет консоли. И есть еще одна маленькая проблема.

Если я использую

VAR=$(ls -1); echo $VAR

, это не то же самое, что ls -1

Мое решение работает, если не имеет значения, что вывод происходит из канала ошибок.

VAR=$(ls -1 | tee >&2)

3
ответ дан 29 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: