saviounix
(usa Debian)
Enviado em 19/10/2016 - 12:42h
Kaique_rangel escreveu:
Eu preciso Fazer Esses códigos em python usando o Switch
#!/bin/bash
echo "Opções"
echo
echo "Digite 1 para, exibir status."
echo "Digite 2 para, exibir relação."
echo "Digite 3 para, exibir data."
echo "Digite 4 para sair."
echo
echo "Qual opção?"
read opcao
case $opcao in
1) df -h;;
2) who;;
3) date;;
4) exit;;
*) echo "Opção inexistente";;
esac
#!/bin/bash
status=$(ping -q -c 1 $1 | grep "received" | cut -d " " -f 4)
if [ $status -eq 0 ]
then
echo "servidor DOWN"
else
echo "servidor UP"
fi
Boa tarde KAIQUE_RANGEL,
Baseado no seu exemplo, usando bash, procurei fazer o mais simples e direto possível a fim de solucionar seu problema.
Em Python não há Switch/Case, porém, como os próprios colegas acima disseram, pode ser simulado tal funcionalidade usando IF/ELIF/ELSE.
Pelo que vi, a sua opção 2 deverá listar os usuários logados, por isso usou um comando bash 'who'.
Para facilitar a compreensão, e também o desenvolvimento do script, importei a biblioteca 'os' nativa do python para realizar os comandos 'bash'. Assim, os resultados que tinha nos scripts anteriores serão iguais ou similares aos obtidos neste programa python.
Código
#!/bin/env python
# -*- coding: iso-8859-1 -*-
from datetime import date
import os
os.system("clear")
print ("""
\t\t###################################
\t\t### 1 ## Exibir status. ###
\t\t### 2 ## Exibir relação. ###
\t\t### 3 ## Exibir data. ###
\t\t### 4 ## Sair. ###
\t\t###################################
""")
while True:
try:
op = int(input("\nOpção: "))
except:
print ("\nOpção inválida! Digite apenas valores numéricos.\n")
quit()
if op==1:
ignoreTHIS = os.system("df -h")
elif op==2:
ignoreTHIS = os.system("who")
elif op==3:
print date.today()
#ignoreTHIS = os.system("date +%d/%m/%Y")
elif op==4:
print ("\nPrograma Encerrado.\n\n")
quit()
else:
print "Opção incorreta."
Espero ter ajudado em alguma dúvida ou até mesmo na resolução de todo o problema.
Qualquer dúvida quanto ao entendimento do código, estou a disposição para explicar.
Att[]
Savio.