Autor Tópico: Ajuda com pequeno comando de Bash  (Lida 344 vezes)

Online softclean

  • Moderador Global
  • Unsigned User
  • ******
  • Mensagens: 2688
  • Olha um melrito!
    • Blog do André
Ajuda com pequeno comando de Bash
« em: 19 de Outubro de 2009, 10:49 »
Boas pessoal.

Estou aqui a tentar criar um pequeno alias para passar ficheiros PHP ao parser e mostrá-los de imediato no browser, mas não estou a conseguir... Tentei fazer o meu aliás assim:

Código (Bash): [Seleccione]
alias phpCompile='php -f $1 > output.html | firefox output.html'
A intenção é chamar assim:
phpCompile ficheiro.php

E o comando deveria abrir o browser, com os resultados do ficheiro output.html. Porém o que obtenho é o firefox a abrir duas tabs, uma com a ajuda do PHP (supostamente não está a passar bem o ficheiro como argumento em $1) e o ficheiro 'ficheiro.php' que passo como argumento, ou seja, é como se estivesse a interpretar algo como

phpCompile ficheiro.php esta a ser interpretaddo como php -f  > output.html | firefox ficheiro.php

Alguém me consegue ajudar nisto? Cumps

Offline tvale

  • void
  • *
  • Mensagens: 2
Re: Ajuda com pequeno comando de Bash
« Responder #1 em: 19 de Outubro de 2009, 13:31 »
Creio que o | denote um pipe. Experimenta usar && no seu lugar.

Online softclean

  • Moderador Global
  • Unsigned User
  • ******
  • Mensagens: 2688
  • Olha um melrito!
    • Blog do André
Re: Ajuda com pequeno comando de Bash
« Responder #2 em: 19 de Outubro de 2009, 13:46 »
Humm, continua com o mesmo problema, abre o ficheiro output (com a mensagem de erro do PHP, que faltam parametros) e o index.php.

Offline kurayama

  • void
  • *
  • Mensagens: 26
    • my web corner
Re: Ajuda com pequeno comando de Bash
« Responder #3 em: 19 de Outubro de 2009, 23:44 »
Não tenho a certeza mas penso que para poderes passar argumentos não podes usar alias, mas sim funções..

function phpCompile()
{
php -f "$@" > output.html;
firefox output.html;
}

Online softclean

  • Moderador Global
  • Unsigned User
  • ******
  • Mensagens: 2688
  • Olha um melrito!
    • Blog do André
Re: Ajuda com pequeno comando de Bash
« Responder #4 em: 20 de Outubro de 2009, 09:09 »
Acho que não é possível mesmo, porque ele substitui o alias pelo comando, e deixa o parametro (o ficheiro php) no fim, e era por isso que o firefox o tentava abrir.

Coloquei a tua função no meu .bashrc e funciona muito bem ;) Obrigado a ambos pela vossa ajuda! :thumbsup: