Utilitário padrão para gravar stdin em um arquivo sem stdout?

5

Eu tenho dois casos em que quero criar um arquivo com seu conteúdo fornecido na entrada padrão:

  1. Eu preciso usar sudo para ter os privilégios para criar um arquivo.
  2. Um aplicativo sempre chama um editor (interativo) especificado por $EDITOR para processar essa entrada ainda mais, mas quero enviar dados de um programa.

No primeiro caso, eu poderia usar echo test | sudo bash -c 'cat > test.txt' , mas neste e no último caso, geralmente uso tee e direciono a saída padrão de tee para /dev/null :

  1. echo test | sudo tee test.txt > /dev/null
  2. echo test | EDITOR=tee application > /dev/null

No entanto, isso não apenas elimina a saída padrão de tee , mas também (no último caso) application . Seria preferível ser capaz de suprimir especificamente a saída padrão de tee , para que eu pudesse perceber instantaneamente se alguma outra coisa escreveu para a saída padrão.

Existe um utilitário nas distribuições padrão do Linux que gravará entradas padrão no arquivo especificado como um argumento de linha de comando e não emitirá nada?

    
por Tim Landscheidt 10.08.2015 / 18:48

1 resposta

0

Existe o comando w de sed :

sed -n 'w /tmp/out'

Mas talvez você devesse escrever seu próprio script mycat :

#!/bin/bash
cat >"${1?}"

Crie um diretório ~ / bin e adicione-o à frente do seu PATH para que seu comando seja encontrado.

Você pode dizer: "mas eu uso centenas de máquinas, elas não terão esse script nelas". Nesse caso, minha sugestão é que você crie um script que simplesmente configure seu ambiente preferido em qualquer máquina que você queira. Eu tenho um script que, idealmente quando eu tiver acesso root, crie um novo id de usuário, adicione uma entrada sudoers para ele, copie alguns arquivos .bashrc e bin / *, e assim por diante. Então eu posso entrar com esse id e "se sentir em casa". Além disso, meu histórico de comandos não é poluído por outros administradores fazendo logins de raiz, e eu não estou fazendo todos os meus comandos como root.

Muitas vezes eu tenho que trabalhar em novas instalações de SO no hardware em teste, e esse tipo de configuração automática é uma verdadeira benção.

    
por 11.08.2015 / 10:15

Tags