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

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

Re: [shell-script] Named Pipe


From: Alysson Gonçalves de Azevedo
Subject: Re: [shell-script] Named Pipe
Date: Sat, 15 Sep 2012 13:05:45 -0300

Meio que descobri o bug... eu tava achando que o meu problema era o echo...
mas não

Se eu fizer assim:

mkfifo /tmp/note.fifo
exec 3<> /tmp/note.fifo
echo menu:'Calendário!yad --calendar|Fim!quit' >&3

Não aparece aquele retorno la...
mas quando abro o yad...
$ yad --notification --listen <&3 &
[1] 23199
$ menu - Calendário!yad --calendar||Fim!quit

o yad print na tela o conteudo do note.fifo

vou tentar fazer uma gambi pra arrumar isso (e depois procurar la no site
pra ver se isso foi reportado).

obs,
$ yad --version
0.17.1.1


Alysson Gonçalves de Azevedo - (11) 8491-7730

"É curioso como as pessoas ficam confusas quando a frase não terminam do
jeito que elas periquito."



Em 15 de setembro de 2012 12:58, Alysson Gonçalves de Azevedo <
address@hidden> escreveu:

> É engraçado por que seu eu digito no terminal:
>
> $ mkfifo /tmp/note.fifo
> $ exec 3<> /tmp/note.fifo
> $ yad --notification --listen <&3 &
>  $ echo menu:'Calendário!yad --calendar|Fim!quit' >&3
>
> O yad aparece lá, e talz, mas mesmo assim é exibido no terminal na linha
> seguinte.
> $ menu - Calendário!yad --calendar|Fim!quit
>
> (repare que isso não sou eu que digitei, e sim a saida do echo anterior)
> extranho, neh.
>
> e como eu fecharia a saída padrão ? Eu sei que se usa >&- mas não sei
> como direcionar o 1 para o 3 e fechar os demais.
>
>
>
>
> Alysson Gonçalves de Azevedo - (11) 8491-7730
>
> "É curioso como as pessoas ficam confusas quando a frase não terminam do
> jeito que elas periquito."
>
>
>
> Em 15 de setembro de 2012 10:42, Julio C. Neves <address@hidden>escreveu:
>
> Não sabia que vc estava usando o YAD e acabei de te mandar um pitaco do
>> diálogo --calendar com a opção --details...
>>
>> Olha Alysson, já usei a opção --menu dentro do diálogo --notification e
>> isso nunca me aconteceu. A única diferença que vejo é que eu não costumo
>> mudar os separadores. Será por isso?  Não creio mas não custa tentar. O
>> YAD
>> ainda é muito novo e isso pode ser um bugzinho.
>>
>> Se for um bugzinho, essa não é a melhor saída, mas funciona: no inicio da
>> função, fecha a saída primária ou associe-a ao FD 3.
>>
>> Abcs,
>> Julio
>>
>> *
>> *
>>
>>
>>
>> Em 15 de setembro de 2012 09:49, Alysson Gonçalves de Azevedo <
>> address@hidden> escreveu:
>>
>> > **
>> >
>> >
>> > A parte que estou falando está assim agora:
>> >
>> > >
>> > > temp_pipe=/tmp/${0##*/}.$$
>> > > mkfifo $temp_pipe
>> > > exec 3<> $temp_pipe
>> > >
>> > > function _menu_atualizar() {
>> > > echo 'menu:Novo!bash -c _menu_criar@Abrir!bash -c _menu_abrir@
>> > @Fechar!quit'
>> > > >&3
>> > > }
>> > > export -f _menu_atualizar
>> > >
>> > > yad --notification --image='tag-new' --text="Secret notes"
>> > --separator='@'
>> > > \
>> > > --listen <&3 &
>> > >
>> > > _menu_atualizar
>> > > trap "rm -f $temp_pipe" EXIT
>> > >
>> > >
>> > e mesmo assim esse echo ai exibe o texto na tela.
>> >
>> > Alysson Gonçalves de Azevedo - (11) 8491-7730
>> >
>> > "É curioso como as pessoas ficam confusas quando a frase não terminam do
>> > jeito que elas periquito."
>> >
>> > Em 15 de setembro de 2012 09:08, Julio C. Neves <address@hidden
>> > >escreveu:
>> >
>> > > Experimente depois de vc definir o FD 3 colocar nas saídas 1>&3.
>> > >
>> > > Não li o código do pastebin, mas isso deve resolver
>> > >
>> > > Abcs,
>> > > Julio
>> > >
>> > > *
>> > > *
>> > >
>> > >
>> > >
>> > > Em 15 de setembro de 2012 01:39, Alysson Gonçalves de Azevedo <
>> > > address@hidden> escreveu:
>> > >
>> > > > **
>> > > >
>> > > >
>> > > > sim sim, um é o PID do atual e o outro é o PID do último programa
>> que
>> > foi
>> > > > executado.
>> > > >
>> > > > Agora to com outra duvida...
>> > > > No programinha que to fazendo aqui: http://pastebin.com/J1cFB8tC
>> > > > Ele é tipo o gnote (ou tomboy), mas que depois vou aplicar
>> criptografia
>> > > nos
>> > > > arquivos (isso ainda não foi feito).
>> > > >
>> > > > A questão é que na função _menu_atualizar, mesmo o echo estando com
>> o
>> > > >&3,
>> > > > quando eu executo o programa aparece:
>> > > >
>> > > > user@note:~/shell$ ./secret_notes.sh
>> > > > user@note:~/shell$ menu - Novo!bash -c _menu_criar@Abrir!bash -c
>> > > > _menu_abrir@@Fechar!quit
>> > > > user@note:~/shell$
>> > > >
>> > > > ou seja, o "menu - Novo..." continua aparecendo no terminal. Tem
>> como
>> > > > fechar essa saída para que ficasse sem exibir o conteúdo do echo?
>> > > >
>> > > > Alysson Gonçalves de Azevedo - (11) 8491-7730
>> > > >
>> > > > "É curioso como as pessoas ficam confusas quando a frase não
>> terminam
>> > do
>> > > > jeito que elas periquito."
>> > > >
>> > > > Em 14 de setembro de 2012 22:49, Julio C. Neves <
>> address@hidden
>> > > > >escreveu:
>> > > >
>> > > > > $ echo $0
>> > > > > bash
>> > > > > $ echo $$
>> > > > > 1546
>> > > > > $ echo $!
>> > > > >
>> > > > > $ sleep 5 &
>> > > > > [1] 12358
>> > > > > $ echo $!
>> > > > > 12358
>> > > > >
>> > > > > Entendeu a diferença entre $$ e $!?
>> > > > > Abcs,
>> > > > > Julio
>> > > > >
>> > > > > *
>> > > > > *
>> > > > >
>> > > > >
>> > > > >
>> > > > > Em 14 de setembro de 2012 22:36, Alysson Gonçalves de Azevedo <
>> > > > > address@hidden> escreveu:
>> > > > >
>> > > > > > **
>> > > > > >
>> > > > > >
>> > > > > > hmm, só conhecia o $!.
>> > > > > >
>> > > > > > vlw
>> > > > > >
>> > > > > > Alysson Gonçalves de Azevedo - (11) 8491-7730
>> > > > > >
>> > > > > > "É curioso como as pessoas ficam confusas quando a frase não
>> > terminam
>> > > > do
>> > > > > > jeito que elas periquito."
>> > > > > >
>> > > > > > Em 14 de setembro de 2012 22:21, Julio C. Neves <
>> > > address@hidden
>> > > > > > >escreveu:
>> > > > > >
>> > > > > > > Respostas:
>> > > > > > >
>> > > > > > >
>> > > > > > > 1. $$ = PID do prg;
>> > > > > > > 2. usando expansão de parâmetro tem de ser em 2 fases.
>> > > > > > >
>> > > > > > > Abcs,
>> > > > > > > Julio
>> > > > > > >
>> > > > > > > *
>> > > > > > > *
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > Em 14 de setembro de 2012 22:04, Alysson Gonçalves de Azevedo
>> <
>> > > > > > > address@hidden> escreveu:
>> > > > > > >
>> > > > > > > > **
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > Pessoal, tava dando uma olhada num exemplo que tem nessa
>> > > > > > > > página<
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> http://www.vivaolinux.com.br/artigo/Yad-016-Eu-quero-sempre-mais-de-ti?pagina=10
>> > > > > > > > >e
>> > > > > > > >
>> > > > > > > > No primeiro código postado, tem algo assim:
>> > > > > > > >
>> > > > > > > > [...]
>> > > > > > > > TEMP_PIPE=$(mktemp ${0##*/}.$$)
>> > > > > > > > mkfifo ${TEMP_PIPE:-nadadadadsa}
>> > > > > > > > exec 3<> ${TEMP_PIPE:-nadadadadsa}
>> > > > > > > > trap "rm -f ${TEMP_PIPE:-nadadadadsa}" EXIT
>> > > > > > > > [...]
>> > > > > > > >
>> > > > > > > > Em TEMP_PIPE=$(mktemp ${0##*/}.$$), o que significa o $$ no
>> > final
>> > > > > ali?
>> > > > > > > >
>> > > > > > > > Depois, eu tentei juntar as duas primeiras linhas que citei
>> > ali,
>> > > > > > > > porque queria que o nome do namedpipe ficasse no TEMP_PIPE e
>> > não
>> > > em
>> > > > > > > > ${TEMP_PIPE:-nadadadadsa}:
>> > > > > > > >
>> > > > > > > > TEMP_PIPE=${$(mktemp ${0##*/}.$$):-nadadadadsa}
>> > > > > > > >
>> > > > > > > > mas fica dando erro de substituição incorreta. Tem algum
>> meio
>> > de
>> > > > > fazer
>> > > > > > o
>> > > > > > > > mesmo sem ser assim:
>> > > > > > > > TEMP_PIPE=$(mktemp ${0##*/}.$$)
>> > > > > > > > TEMP_PIPE=${TEMP_PIPE:-nadadadadsa}
>> > > > > > > >
>> > > > > > > > E por último, ali no trap, o que ele faz é deletar o named
>> pipe
>> > > > > quando
>> > > > > > o
>> > > > > > > > programa acaba, certo?
>> > > > > > > >
>> > > > > > > > Obrigado.
>> > > > > > > >
>> > > > > > > > Alysson Gonçalves de Azevedo - (11) 8491-7730
>> > > > > > > >
>> > > > > > > > "É curioso como as pessoas ficam confusas quando a frase não
>> > > > terminam
>> > > > > > do
>> > > > > > > > jeito que elas periquito."
>> > > > > > > >
>> > > > > > > > [As partes desta mensagem que não continham texto foram
>> > > removidas]
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > [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]
>> > > > >
>> > > > >
>> > > > >
>> > > > > ------------------------------------
>> > > > >
>> > > > > ----------------------------------------------------------
>> > > > > 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]
>> > >
>> > >
>> > >
>> > > ------------------------------------
>> > >
>> > > ----------------------------------------------------------
>> > > 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]
>>
>>
>>
>> ------------------------------------
>>
>> ---------------------------------------------------------------------
>> 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]



reply via email to

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