На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
Hemp
Сообщения: 17
ОС: Debian
Сообщение
Hemp » 03.07.2013 14:51
Как переменной присвоить значение, которое является результатом работы программы выведенный на терминал (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
Сообщение
/dev/random » 03.07.2013 15:00
Hemp писал(а): ↑ 03.07.2013 14:51
Обратите внимание на положение кавычек и отсутствие пробелов вокруг знака равенства.
Hemp писал(а): ↑ 03.07.2013 14:51
Обратите внимание на отсутствие пробелов вокруг знака равенства.
Hemp
Сообщения: 17
ОС: Debian
Сообщение
Hemp » 03.07.2013 15:07
Разобрался, пробелы:
Код: Выделить всё
#!/bin/bash
set -x
a="`echo qwerty`"
echo $a
b=$(echo 12345)
echo $b
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo
Сообщение
/dev/random » 03.07.2013 15:08
Hemp писал(а): ↑ 03.07.2013 15:07
Разобрался, пробелы:
Код: Выделить всё
#!/bin/bash
set -x
a=`"echo qwerty"`
echo $a
b=$(echo 12345)
echo $b
Вы здесь всё ещё не исправили порядок кавычек в a.