Сайт | Скачать | Видео | Wiki

Автор Тема: "СКРИПТИРОВАНИЕ" - Считать в переменную вывод консоли  (Прочитано 4733 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн metallicus

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: +0/-1
  • Живу в Линуксе
Добрый вечер.
САБЖ, например в переменную name необходимо считать результат вывода команды whoami, как это реализовать? Если сначало сделать вывод результата в файл, а потом считать содержимое файла в переменную, то как это сделать? (как сделать вывод в файл я знаю, а как считать содержимое в переменную - не знаю.)
« Последнее редактирование: 19 Июль 2010, 22:41:43 от metallicus »
Puppyrus 1.3.0 jeans на asus eeepc 701 2g surf
Ubuntu 10.04 LTS на samsung r25p (R25FE08)

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
    • блог Lexeii
Re: Считать в переменную вывод консоли
« Ответ #1 : 19 Июль 2010, 22:15:24 »
name=`whoami`
Linux is user friendly... It's just picky about who it  becomes friends with.

Оффлайн metallicus

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: +0/-1
  • Живу в Линуксе
Re: Считать в переменную вывод консоли
« Ответ #2 : 19 Июль 2010, 22:18:45 »
спасибо! это кавычки? и ещё, знак неравенства это "<>"?
« Последнее редактирование: 19 Июль 2010, 22:22:29 от metallicus »
Puppyrus 1.3.0 jeans на asus eeepc 701 2g surf
Ubuntu 10.04 LTS на samsung r25p (R25FE08)

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
    • блог Lexeii
Re: Считать в переменную вывод консоли
« Ответ #3 : 19 Июль 2010, 22:37:25 »
Не сразу заметил вторую часть вопроса.

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

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

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

Для тестирования условий не применяются знаки равенства и неравенства. Я по памяти не скажу. Найди и прочитай ман по этому вопросу.
Linux is user friendly... It's just picky about who it  becomes friends with.

Оффлайн metallicus

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: +0/-1
  • Живу в Линуксе
Re: Считать в переменную вывод консоли
« Ответ #4 : 19 Июль 2010, 22:40:17 »
спасибо что рассказали всё по полочкам:) :) :)
а про неравенства я хотел уточнить с условием while
например вот:
...
while ["$name"<>"$rname"] # типа это одна неравна другой знак <> - как в делфи или си++
do
...
done
...
Puppyrus 1.3.0 jeans на asus eeepc 701 2g surf
Ubuntu 10.04 LTS на samsung r25p (R25FE08)

Онлайн DdShurick

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 5150
  • Репутация: +135/-0
  • Старый чайник
...
while [ "$name" != "$rname" ]
do
....
done
...
Цикл будет исполняться, пока переменные не станут равны между собой.
Моноблок Lenovo IdeaCentre c200
Netbook Acer 722 c6ckk (AMD C-50 Ontario, Radeon HD 6250)
Nettop Asus Eee Box PC B202 (atom N270, intel GMA 950)

Оффлайн metallicus

  • Новичок
  • *
  • Сообщений: 19
  • Репутация: +0/-1
  • Живу в Линуксе
...
while [ "$name" != "$rname" ]
do
....
done
...
Цикл будет исполняться, пока переменные не станут равны между собой.

тоесть знаки используются как в C++?
Puppyrus 1.3.0 jeans на asus eeepc 701 2g surf
Ubuntu 10.04 LTS на samsung r25p (R25FE08)

Оффлайн Lexeii

  • Почетный участник
  • Постоялец
  • *
  • Сообщений: 147
  • Репутация: +24/-0
    • блог Lexeii
Linux is user friendly... It's just picky about who it  becomes friends with.