Fórum Ubuntu Linux - PT
Suporte Técnico => Programação e Scripts => Tópico iniciado por: Matheus Leandro Ferreira em 26 de Fevereiro de 2013, 15:00
-
Boa tarde,
Estou criando um Script que deverá abrir um ou vários terminais (mas isso não vem ao caso agora) e que neste terminal que abrir apresente o resultado de um comando.
Executo o meu Script dessa forma: ./MeuScript.bsh
Dentro dele, já tentei acrescentar o comando:
gnome-terminal --command cd /etc/
echo "cd /etc/" | gnome-terminal
Porém nenhum deles obtive um resultado satisfatório. O Terminal abriu e não fez nada. Tentei colocar um & no final dos comandos, e também não funcionou.
Alguém pode me dar uma luz?
-
Esse teu exemplo não faz sentido, e dizer o que realmente quer traz resultados melhores. De qualquer forma, "cd" não é um programa, é um comando que faz parte do shell (embutido nele), então:
gnome-terminal -e bash -c "cd /etc"
-
Esse teu exemplo não faz sentido, e dizer o que realmente quer traz resultados melhores. De qualquer forma, "cd" não é um programa, é um comando que faz parte do shell (embutido nele), então:
gnome-terminal -e bash -c "cd /etc"
Bom dia,
De acordo com o comando gnome-terminal --help a opção -c é inválida e inexistente.
O fato é o seguinte. Estou querendo criar um Script, que de dentro dele, abra um novo terminal e liste o que existe no diretório corrente. Por exemplo.:
#!/bin/sh
gnome-terminal -e bash --command "ls -lh"
Só que eu não sei exatamente o comando e como fazer isso. Até então, o terminal abre, porém não executa nada.
Obrigado.
-
O comando é tudo que está apos o "-e", então você olhou no lugar errado (man bash) e é exatamente o que passei. O ls é um programa, então você até pode chamar direto, só não vai ser útil porque o emulador de terminal vai fechar quando ele for concluído (ex: gnome-terminal --working-directory="$PWD" -e ls).
Uma saida é: gnome-terminal --working-directory="$PWD" -e bash -c "ls; exec bash"
Obs: ainda seria mais útil se pedisse ajuda pra resolver o problema, no lugar de pedir ajuda pra algo que acha que resolve ele.
-
O comando é tudo que está apos o "-e", então você olhou no lugar errado (man bash) e é exatamente o que passei. O ls é um programa, então você até pode chamar direto, só não vai ser útil porque o emulador de terminal vai fechar quando ele for concluído (ex: gnome-terminal --working-directory="$PWD" -e ls).
Uma saida é: gnome-terminal --working-directory="$PWD" -e bash -c "ls; exec bash"
Obs: ainda seria mais útil se pedisse ajuda pra resolver o problema, no lugar de pedir ajuda pra algo que acha que resolve ele.
Caro colega,
Primeiro: Você está testando antes de me enviar esses comandos? Acho que não.
matheus@s:~$ gnome-terminal --working-directory="$PWD" -e bash -c "ls; exec bash"
Unknown option -c
Execute "gnome-terminal --help" para ver a lista completa de opções de linha de comando disponíveis.
Segundo: Eu não tenho problema algum para resolver. Se você não percebeu, estou criando um Script do Zero e já expliquei o que quero fazer com este Script.
Terceiro: No momento estou sendo muito educado. Então, me faz um favor de apenas responder a pergunta. Evite comentários desnecessários. E claro, se você souber como evita-los.
Obrigado.
-
Ola
Não tenho nada que me meter, mas como não gosto de "flames", gostaria de pedir calma.
Então, destituído de qualquer espírito provocativo, e como professor que sou acredito que:
Você está testando antes de me enviar esses comandos? Acho que não.
Isto pode-se dar a um embasamento teórico, e a meu ver quem deve testar para saber se é adequado ou não é o interessado apenas.
Eu não tenho problema algum para resolver.
Isto eu não entendi ou entendi mal. Se não existe problemas a resolver, e como este é um fórum de discussões, o desejo apenas seria o de trocar informações?
Se você não percebeu, estou criando um Script do Zero e já expliquei o que quero fazer com este Script.
Então o faça, poste seus resultados e o forum poderá opinar.
Mas de novo, nada de flames, por favor
[]'s
-
Eu não tinha instalado até dois minutos atrás, e realmente não funciona, porque ele foge um pouco do comportamento dos emuladores tradicionais (urxvt e xterm). A solução é simples, cercar o comando, então fica: gnome-terminal --working-directory="$PWD" -e 'bash -c "ls; exec bash"'
E não são comentários desnecessários, não foi a primeira e não vai ser a ultima vez que vou falar assim, porque já vi em N ocasiões usuários pedindo uma coisa, mas quando finalmente resolviam falar o "porque" (quando descreviam o problema), a solução era seguir um caminho completamente diferente. Até agora, é exatamente isso que eu enxergo aqui, infelizmente, mas tudo bem, você não é obrigado a se explicar, da mesma forma que eu não sou obrigado a responder.
-
Eu não tinha instalado até dois minutos atrás, e realmente não funciona, porque ele foge um pouco do comportamento dos emuladores tradicionais (urxvt e xterm). A solução é simples, cercar o comando, então fica: gnome-terminal --working-directory="$PWD" -e 'bash -c "ls; exec bash"'
E não são comentários desnecessários, não foi a primeira e não vai ser a ultima vez que vou falar assim, porque já vi em N ocasiões usuários pedindo uma coisa, mas quando finalmente resolviam falar o "porque" (quando descreviam o problema), a solução era seguir um caminho completamente diferente. Até agora, é exatamente isso que eu enxergo aqui, infelizmente, mas tudo bem, você não é obrigado a se explicar, da mesma forma que eu não sou obrigado a responder.
Oi,
Agora sim! Na realidade você fez uma grande tempestade para uma simples pergunta. Eu sou programador a quase 11 anos e não sou igual as outras pessoas que não vai atrás e não procura saber o motivo de ter ou não funcionado. Com toda certeza eu vou dar um gnome-terminal --help para verificar as opções utilizadas.
Tanto é que, eu não estava fugindo muito do necessário. A opção --working-directory="$PWD" neste caso não é necessária. E a opção -e é a mesma que --command.
gnome-terminal -e 'bash -c "ls; exec bash"'
De qualquer forma, agradeço a sua ajuda.
-
Não fiz tempestade e é irrelevante o tempo que você programa, vai parecer duro, mas se soubesse não tinha feito a pergunta (nessa matéria é "novato", quanto menos assumir coisas como certas, melhor --- é um erro muito comum, diga-se de passagem). Tanto, que a minha resposta seria diferente se tivesse simplesmente mostrado a mensagem de erro, no lugar de falar que consultou o -- help, porque como já havia dito, tudo após o "-e" é o comando, não há absolutamente nada lá que explique, um bom começo seria o manual do bash.
[]'s
-
Boa tarde,
Estou criando um Script que deverá abrir um ou vários terminais (mas isso não vem ao caso agora) e que neste terminal que abrir apresente o resultado de um comando.
Executo o meu Script dessa forma: ./MeuScript.bsh
Dentro dele, já tentei acrescentar o comando:
gnome-terminal --command cd /etc/
echo "cd /etc/" | gnome-terminal
Porém nenhum deles obtive um resultado satisfatório. O Terminal abriu e não fez nada. Tentei colocar um & no final dos comandos, e também não funcionou.
Alguém pode me dar uma luz?
Ola!
Tive um problema similar ao seu, quando estava criando um programa que ele continuasse a analise em outro terminal,então tiver a ideia de criar um script em Python,ficou bacana ele abre outro terminal e ainda executa o comando...
Já com o comando "gnome-terminal --command" tive problemas porque quando pedia que ele "executasse " um script ele fechava o terminal...
tentei de varias formas mais com o script que fiz em python ficou tudo mais facil..
=================================================================
from subprocess import call
call(['gnome-terminal' , '-e' ,'bash','--command','python 2.py'])
=================================================================
ele executa esse script python 2.py em outro terminal sem ter problema de fechar...