Bash: Diferença entre o operador> e >>? [fechadas]

38

Eu sou novato e não sei muito sobre o instrutor bash.my me pediu para fazer o script cat e observar a saída e depois dizer O que é> operator e qual é a diferença entre> & >> operator? e eu sou incapaz de encontrar qualquer justificativa.so, qualquer ajuda por favor :)

jumbo18
fonte
Você pode mexer com arquivos temporários para obter a diferença entre >> e>.
Halp

Respostas:

61

O sinal ">" é usado para redirecionar a saída de um programa para algo diferente de stdout (saída padrão, que é o terminal por padrão).

O >> anexa a um arquivo ou cria o arquivo, se ele não existir.
O> substitui o arquivo se ele existe ou o cria se ele não existe.

Nos dois casos, a saída do programa é armazenada no arquivo cujo nome é fornecido após o operador de redirecionamento.

Exemplos:
$ ls > allmyfiles.txt cria o arquivo "allmyfiles.txt" e o preenche com a lista de diretórios do comando ls

$ echo "End of directory listing" >> allmyfiles.txt adiciona "Fim da lista de diretórios" ao final do arquivo "allmyfiles.txt"

$ > newzerobytefile cria um novo arquivo de byte zero com o nome "newzerobytefile" ou sobrescreve um arquivo existente com o mesmo nome (tornando-o em tamanho zero)

andyhky
fonte
3
Mais detalhes sobre o redirecionamento de E / S: tldp.org/LDP/abs/html/io-redirection.html
Tim Bielawa
0

=> th> operador usado para sobrescrever o arquivo, se existir outro modo, ele criará um novo arquivo EX cat> example1 => Se o arquivo 'example1' existir, ele irá sobrescrever ou criar outro arquivo => o operador >> usar para anexar o final do arquivo EX cat >> example1

Godani Bhavesh
fonte
4
Essa é exatamente a mesma informação que andyh_ky postou anteriormente. Não faz sentido repetir uma resposta anterior. Também não faz sentido adicionar um comentário sem sentido.
John Gardeniers 16/10/12
-4

Não foi possível localizar a página de manual do bash ? Basta digitar man bash no prompt de comando.

adamo
fonte
Você pode tentar adicionar um conteúdo útil ao seu comentário. Eles tinham apenas uma postagem no blog falando sobre respostas no estilo RTFM blog.serverfault.com/post/1306724710/rtfm Talvez você possa mencionar que os operadores> e >> são usados ​​para redirecionamento de IO tldp.org/LDP/abs/html/io -redirection.html Igualmente <é usado para ler um arquivo no stdin.
Tim Bielawa
Eu concordo com o @Tim. Sou totalmente a favor do método de aprendizado "ensinar um homem a pescar". Neste caso, porém, e especialmente para um iniciante, há zero, indicação de que redirecionadores de saída são tratados pelo shell do usuário.
EEAA
-1 porque a página de manual do bash é uma das mais difíceis de seguir com as quais tenho que lidar regularmente.
Sparr 1/11/10
Oh vamos lá! Isso não é RTFM! Você pode ir para a página de manual do bash (e eu forneci um link para ele), pressione ctrl-F e digite >> A primeira coisa que mostra é o uso de >> Plus, esta pergunta é lição de casa: Nós respondemos a lição de casa (era respondidas por andyh_ky) ou mostramos onde está a resposta?
Adamo
Como está dizendo para ele procurar "a página de manual do bash" e não um caso do Leia o manual do ******** Tem até a palavra manual nele!
Sam Cogan