Imprimir resultados na tela script shell [RESOLVIDO]

1. Imprimir resultados na tela script shell [RESOLVIDO]

luan freitas
luancwb07

(usa Debian)

Enviado em 30/12/2016 - 11:39h

Bom dia pessoal como posso fazer a execução do script abaixo em uma pagina php para exibir os resultados do mesmo?

#!/bin/bash
tput setaf 7 ; tput setab 4 ; tput bold ; printf '%30s%s%-15s\n' "Criar Usuário SSH" ; tput sgr0
echo ""
read -p "Nome do usuário: " username
awk -F : ' { print $1 }' /etc/passwd > /tmp/users
if grep -Fxq "$username" /tmp/users
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Este usuário já existe. Crie um usuário com outro nome." ; echo "" ; tput sgr0
exit 1
else
if (echo $username | egrep [^a-zA-Z0-9.-_] &> /dev/null)
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário inválido!" ; tput setab 1 ; echo "Use apenas letras, números, pontos e traços." ; tput setab 4 ; echo "Não use espaços, acentos ou caracteres especiais!" ; echo "" ; tput sgr0
exit 1
else
sizemin=$(echo ${#username})
if [[ $sizemin -lt 2 ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário muito curto," ; echo "use no mínimo dois caracteres!" ; echo "" ; tput sgr0
exit 1
else
sizemax=$(echo ${#username})
if [[ $sizemax -gt 32 ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário muito grande," ; echo "use no máximo 32 caracteres!" ; echo "" ; tput sgr0
exit 1
else
if [[ -z $username ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um nome de usuário vazio!" ; echo "" ; tput sgr0
exit 1
else
read -p "Senha: " password
if [[ -z $password ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou uma senha vazia!" ; echo "" ; tput sgr0
exit 1
else
sizepass=$(echo ${#password})
if [[ $sizepass -lt 6 ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou uma senha muito curta!" ; echo "Para manter o usuário seguro use no mínimo 6 caracteres" ; echo "combinando diferentes letras e números!" ; echo "" ; tput sgr0
exit 1
else
read -p "Dias para expirar: " dias
if (echo $dias | egrep '[^0-9]' &> /dev/null)
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um número de dias inválido!" ; echo "" ; tput sgr0
exit 1
else
if [[ -z $dias ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deixou o número de dias para a conta expirar vazio!" ; echo "" ; tput sgr0
exit 1
else
if [[ $dias -lt 1 ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deve digitar um número de dias maior que zero!" ; echo "" ; tput sgr0
exit 1
else
read -p "Nº de conexões simultâneas permitidas: " sshlimiter
if (echo $sshlimiter | egrep '[^0-9]' &> /dev/null)
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você digitou um número de conexões inválido!" ; echo "" ; tput sgr0
exit 1
else
if [[ -z $sshlimiter ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deixou o número de conexões simultâneas vazio!" ; echo "" ; tput sgr0
exit 1
else
if [[ $sshlimiter -lt 1 ]]
then
tput setaf 7 ; tput setab 4 ; tput bold ; echo "" ; echo "Você deve digitar um número de conexões simultâneas maior que zero!" ; echo "" ; tput sgr0
exit 1
else
final=$(date "+%Y-%m-%d" -d "+$dias days")
gui=$(date "+%d/%m/%Y" -d "+$dias days")
pass=$(perl -e 'print crypt($ARGV[0], "password")' $password)
useradd -e $final -M -s /bin/false -p $pass $username
[ $? -eq 0 ] && tput setaf 2 ; tput bold ; echo ""; echo "Usuário $username criado" ; echo "Data de expiração: $gui" ; echo "Nº de conexões simultâneas permitidas: $sshlimiter" ; echo "" || echo "Não foi possível criar o usuário!" ; tput sgr0
echo "$username $sshlimiter" >> /root/usuarios.db
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi


  


2. MELHOR RESPOSTA

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 30/12/2016 - 13:37h

luancwb07 escreveu:

Bom dia pessoal como posso fazer a execução do script abaixo em uma pagina php para exibir os resultados do mesmo?


velho ... te ajudar certinho não vou saber pq não saco muito de shell e menos ainda de php ... mas da uma olhada pra ver se isso te ajuda a desvendar o segredo

https://www.vivaolinux.com.br/topico/Shell-Script/Executar-comando-linux-atraves-do-php
https://www.vivaolinux.com.br/artigo/Shell-script-com-PHP
http://www.dicas-l.com.br/arquivo/php_+_shell_script.php

OBS: velho ... apesar de eu não entender muito desas coisas esse script seu está parecendo meio bagunçado não ?!?!?!?

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

3. Re: Imprimir resultados na tela script shell [RESOLVIDO]

luan freitas
luancwb07

(usa Debian)

Enviado em 30/12/2016 - 16:43h

Esse script não é meu, mais realmente dei uma aprofundada apouco em shell e percebi que esta muito bagunçado. obrigado pelas sugestões






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts