Ocultando a saída do terminal ao encadear comandos

3

A partir do terminal, eu gosto de lançar meus aplicativos padrão de trabalho ... gedit com minha lista de tarefas, firefox e cromo.

Para economizar tempo, eu (1) encadeamento este comando em uma linha, (2) silencie todas as mensagens de erro de stderr e stdout com 2&>1 >/dev/null e (3) baseie os processos com & para recuperar um terminal limpo:

gedit ~/Desktop/todo.txt 2&>1 > /dev/null & firefox 2&>1 > /dev/null & chromium-browser 2&>1 > /dev/null &

Parece funcionar bem, exceto por um pequeno detalhe. O Gedit abre o arquivo todo assim como um novo arquivo de texto com o nome 2. Os canos estão mal posicionados?

    
por somethis 02.01.2013 / 13:22

2 respostas

5

Eu costumo ver >/dev/null 2>&1 e não 2>&1 >/dev/null

Então, > provavelmente é a chave aqui, já que as próximas opções para o gedit são (a) nome (s) de arquivo (s).

Página de manual para estados de gedit para filename(s) :

  

Especifica o arquivo a ser aberto quando o gedit é iniciado - se isso não for especificado, o gedit carregará um arquivo em branco com um rótulo sem título. Vários arquivos podem ser carregados se forem separados por espaços . O gedit também suporta o manuseio de arquivos remotos. Por exemplo, você pode passar a localização de uma página da Web para gedit, como "http://www.gnome.org", ou carregar um arquivo de um servidor FTP, como "ftp://ftp.gnome.org/robots. TXT".

Se eu ler isto corretamente: o 2 é visto como um nome de arquivo, já que um espaço o precede. Isso sugere que você precisa do > para informar ao gedit que não é um nome de arquivo que vem a seguir.

Eu mesmo criaria um script e teria os comandos em linhas separadas.

    
por Rinzwind 02.01.2013 / 13:50
2

Resposta rápida:

gedit -b wallet.pem > /dev/null 2>&1

A opção -b coloca gedit em segundo plano.

Resposta mais longa:

Para uma tarefa como essa, eu colocaria esses aplicativos no startuo do seu Ambiente de Área de Trabalho.

    
por ricciocri 02.01.2013 / 13:51