Как записать в переменную, результат выведенный программой

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
Hemp
Сообщения: 17
ОС: Debian

Как записать в переменную, результат выведенный программой

Сообщение Hemp »

Как переменной присвоить значение, которое является результатом работы программы выведенный на терминал (stdout)?
Пробовал, следующее:

Код: Выделить всё

#!/bin/bash
set -x
a = `"echo qwerty"`
echo $a
b = $(echo 12345)
echo $b


Результат таков:

Код: Выделить всё

~$ ./rctest
++ 'echo qwerty'
./rctest: line 3: echo qwerty: команда не найдена
+ a =
./rctest: line 3: a: команда не найдена
+ echo

++ echo 12345
+ b = 12345
./rctest: line 5: b: команда не найдена
+ echo
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Как записать в переменную, результат выведенный программой

Сообщение /dev/random »

Hemp писал(а):
03.07.2013 14:51

Код: Выделить всё

a = `"echo qwerty"`

Код: Выделить всё

a="`echo qwerty`"

Обратите внимание на положение кавычек и отсутствие пробелов вокруг знака равенства.


Hemp писал(а):
03.07.2013 14:51

Код: Выделить всё

b = $(echo 12345)

Код: Выделить всё

b=$(echo 12345)

Обратите внимание на отсутствие пробелов вокруг знака равенства.
Спасибо сказали:
Hemp
Сообщения: 17
ОС: Debian

Re: Как записать в переменную, результат выведенный программой

Сообщение Hemp »

Разобрался, пробелы:

Код: Выделить всё

#!/bin/bash
set -x
a="`echo qwerty`"
echo $a
b=$(echo 12345)
echo $b
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Как записать в переменную, результат выведенный программой

Сообщение /dev/random »

Hemp писал(а):
03.07.2013 15:07
Разобрался, пробелы:

Код: Выделить всё

#!/bin/bash
set -x
a=`"echo qwerty"`
echo $a
b=$(echo 12345)
echo $b

Вы здесь всё ещё не исправили порядок кавычек в a.
Спасибо сказали:
Ответить