shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Verificar se Script está sendo executado de linha de


From: Leslie Watter
Subject: Re: [shell-script] Verificar se Script está sendo executado de linha de comando ou de interface gráfica
Date: Thu, 28 Feb 2013 10:33:20 -0300

Além da dica do Thiago (verificar o $TERM),

/dev/ttyS* == terminal texto
/dev/pty*.... == pode ser um terminal texto ou conectado via ssh

você também pode verificar se a variável DISPLAY está ativa.

Se estiver com valor diferente de "" é sinal que tem um ambiente gráfico
associado, ai vc pode usar o zenity, kdialog etc e o teste fica bem mais
fácil


if [ "$DISPLAY"x == ""x ]; then
  $ECHO=echo
else
  $ECHO=kdialog
fi

.....


[]s

Leslie


2013/2/27 André Saunite <address@hidden>

> **
>
>
> Opa Julio,
>
> Não é bem isso não, o que eu quero é executar um script, e esse script
> tem que passar algumas mensagens para o usuário (se terminou bem, se
> teve problema).
>
> Só quemeu script pode ser invocado por linha de comando (./script.sh) ou
> via interface gráfica(clicando no script.sh em um gerenciador de arquivo
> para que ele execute)
>
> Se eu só coloco "echo"nenhuma mensagem vai aparecer quando eu inicio o
> script viainterface gráfica, então eu queria alguma forma de que o
> script possa detectar se está sendo iniciado por interface gráfica ou
> por linha de comando.
>
> Como eu uso atualmente a parte gráfica só como menu de contexto no
> dolphineu só estou passando um argumento a mais pra saber que é
> interface gráfica, mas eu não gosto dessa solução, e ela não vai
> funcionar em um script que eu tenha que clicar para executar, sem poder
> passar parâmetros.
>
> Espero que eu tenha deixado a coisa mais clara!
>
> Abraços!
> André Saunite
>
>
> On 02/27/2013 05:29 PM, Julio C. Neves wrote:
> > Fala André,
> > não entendi bem a sua pergunta, mas veja se é isso:
> >
> > $ function AchaProc1
> > {
> > Qtd=$(ps -eo comm | grep "^$1$") || {
> > echo Nenhum processo $1 em execução
> > return 1
> > }
> > echo "Existe(m) $(wc -l <<< "$Qtd") instância(s) de $1 em execução"
> > }
> > $ AchaProc1 ximelesquete
> > Nenhum processo ximelesquete em execução
> > $ AchaProc1 bash
> > Existe(m) 8 instância(s) de bash em execução
> >
> > Agora com zenity:
> >
> > $ function AchaProc2
> > {
> > Qtd=$(ps -eo comm | grep "^$1$") || {
> > zenity --error --text "Nenhum processo *$1* em execução"
> > return 1
> > }
> > zenity --info --text "Existe(m) *$(wc -l <<< "$Qtd")* instância(s)
> > de *$1* em execução"
> > }
> >
>
> > Abcs,
> > Julio
> > *@juliobash*
> >
> > *Próximos Cursos de Shell*
> >
> > *Cidade*
> >
> > *Data Início*
> >
> > *Local*
> >
> > Curitiba
> >
> > 04/03
> >
> > SoftSell
> http://www2.softsell.com.br/?system=treinamentos&id=323&action=read>
>
> >
> > Recife
> >
> > 01/04
> >
> > Fuctura http://www.fuctura.com.br/cursos/curso-de-shell-scripts/>
> >
> >
> >
> > Em 27 de fevereiro de 2013 14:53, André Saunite address@hidden
> >escreveu:
> >
> >> **
> >>
> >>
> >> Oi galera,
> >>
> >> É possível saber se um script está sendo executado pela linha de comando
> >> ou por uma interface gráfica? Eu gostaria de fazer essa comparação
> >> dentro de um shell script (em bash) pra decidir se uso um zenity /
> >> kdialog ou um echo quando estiver mostrando as mensagens do script.
> >>
> >> Abraços,
> >> André Saunite
> >>
> >>
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> > ------------------------------------
> >
> > ----------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> > ----------------------------------------------------------
> > Sair da lista: address@hidden
>
> > ----------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> http://www.listas-discussao.cjb.net
> > ----------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> > Links do Yahoo! Grupos
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Leslie H. Watter


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]