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: André Saunite
Subject: Re: [shell-script] Verificar se Script está sendo executado de linha de comando ou de interface gráfica
Date: Thu, 28 Feb 2013 11:05:24 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

Valeu Leslie,

Mas no meu caso, se eu tenho o ambiente gráfico aberto, o $TERM tá 
sempre como xterm, e oDISPLAY é :0 tanto eu executando por linha de 
comando quanto clicando no script pra executar pela GUI.

Abraço!
André Saunite

On 02/28/2013 07:33 AM, Leslie Watter wrote:
> 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]
>>
>>   
>>
>
>



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



reply via email to

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