Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 27, 2015 19:13:40

saifuddin
Зарегистрирован: 2015-11-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы новичка

Здравствуйте!
Учусь писать скрипты для администрирования Linux.

Для выполнения различных команд в консоли, нужно использовать OS

import os
os.system('uname -n')

После команды на консоли будет результат.

Подскажите, если мне нужно результат с консоли записать в переменную, для дальнейшего анализа и работы над ним. Как мне нужно это реализовать?

hostname = os.system('uname -n') не работает. Сразу выводит в терминале и в переменно будет значение 0.

Я только учусь, не осуждайте меня )

Офлайн

#2 Ноя. 27, 2015 19:32:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Вопросы новичка

Для того, чтобы получить вывод программы в stdout надо его прочитать, а вы просто получаете код возврата программы

# -*-coding:utf-8-*-
import os
hostname = os.popen('uname -n').read()
print("HOSTNAME= ", hostname)



Офлайн

#3 Ноя. 27, 2015 19:44:13

saifuddin
Зарегистрирован: 2015-11-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы новичка

спасибо!

Офлайн

#4 Ноя. 27, 2015 20:33:38

saifuddin
Зарегистрирован: 2015-11-27
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Вопросы новичка

Есть еще несколько вопросов.

os.system('ssh root@host')
или
os.system('sudo aptitude update')
В целях безопасности, как нужно хранить пароль?
Тут он затребует пароль, как следует его вводить?
Я понимаю, что именно с ssh можно через ключ его ввести. А, как можно это сделать, чтобы в истории баша он не сохранялся, так как то, что в ключ мы пропишем будет в истории фигурировать. Разумеется, кто-то возможно предложит каждый раз чистить историю, это то же не вариант.

пробовал через print.
print ‘password’

отрабатывает os.system… потом требует ввод пароля, после выводит, то что в принте было.

Офлайн

#5 Ноя. 27, 2015 21:27:09

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2843
Репутация: +  186  -
Профиль   Отправить e-mail  

Вопросы новичка

> os.system

Забудь про os.system. Пользуйся субпроцессом.

> А, как можно это сделать, чтобы в истории баша он не сохранялся, так как то, что в ключ мы пропишем будет в истории фигурировать.

Ты же баш не запускаешь, по этому он туда и не попадёт.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#6 Ноя. 30, 2015 15:16:16

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

Вопросы новичка

сделайте по форуму поиск по “SSH” много интересного



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version