Форум проекта PuppyRus Linux

Разработки проекта PuppyRus => Программирование и компиляция => Тема начата: metallicus от 19 Июль 2010, 22:04:21

Название: "СКРИПТИРОВАНИЕ" - Считать в переменную вывод консоли
Отправлено: metallicus от 19 Июль 2010, 22:04:21
Добрый вечер.
САБЖ, например в переменную name необходимо считать результат вывода команды whoami, как это реализовать? Если сначало сделать вывод результата в файл, а потом считать содержимое файла в переменную, то как это сделать? (как сделать вывод в файл я знаю, а как считать содержимое в переменную - не знаю.)
Название: Re: Считать в переменную вывод консоли
Отправлено: Lexeii от 19 Июль 2010, 22:15:24
name=`whoami`
Название: Re: Считать в переменную вывод консоли
Отправлено: metallicus от 19 Июль 2010, 22:18:45
спасибо! это кавычки? и ещё, знак неравенства это "<>"?
Название: Re: Считать в переменную вывод консоли
Отправлено: Lexeii от 19 Июль 2010, 22:37:25
Не сразу заметил вторую часть вопроса.

Переменная в файл: echo "$name" > file
Кавычки нужны, чтобы несколько последовательных пробелов (если есть) в значении переменной не превратились в один пробел.

Из файла в переменную: name=`cat $file`

Кавычки эти - особые, наклонные, находятся на кнопке "Ё".

Для тестирования условий не применяются знаки равенства и неравенства. Я по памяти не скажу. Найди и прочитай ман по этому вопросу.
Название: Re: Считать в переменную вывод консоли
Отправлено: metallicus от 19 Июль 2010, 22:40:17
спасибо что рассказали всё по полочкам:) :) :)
а про неравенства я хотел уточнить с условием while
например вот:
...
while ["$name"<>"$rname"] # типа это одна неравна другой знак <> - как в делфи или си++
do
...
done
...
Название: Re: "СКРИПТИРОВАНИЕ" - Считать в переменную вывод консоли
Отправлено: DdShurick от 19 Июль 2010, 23:01:01
Код
...
while [ "$name" != "$rname" ]
do
....
done
...
Цикл будет исполняться, пока переменные не станут равны между собой.
Название: Re: "СКРИПТИРОВАНИЕ" - Считать в переменную вывод консоли
Отправлено: metallicus от 19 Июль 2010, 23:02:31
Код
...
while [ "$name" != "$rname" ]
do
....
done
...
Цикл будет исполняться, пока переменные не станут равны между собой.

тоесть знаки используются как в C++?
Название: Re: "СКРИПТИРОВАНИЕ" - Считать в переменную вывод консоли
Отправлено: Lexeii от 19 Июль 2010, 23:14:04
Вот ответы:

проверка условий (http://ru.lmgtfy.com/?q=%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D1%83%D1%81%D0%BB%D0%BE%D0%B2%D0%B8%D0%B9+%D0%B2+bash)

цикл while (http://ru.lmgtfy.com/?q=%D1%86%D0%B8%D0%BA%D0%BB+while+bash)