Bash: ¿Diferencia entre> y >> operador? [cerrado]


38

soy novato y no sé mucho sobre bash. mi instructor me pidió que hiciera un script de gato y observara la salida y luego dijera ¿Qué es> operador y cuál es la diferencia entre> y >> operador? y no puedo encontrar ninguna justificación. Por lo tanto, cualquier ayuda por favor :)


Puede jugar con archivos temporales para obtener la diferencia entre >> y>.
— Halp

Respuestas:


61

El signo ">" se usa para redirigir la salida de un programa a algo que no sea stdout (salida estándar, que es la terminal por defecto).

>> se agrega a un archivo o crea el archivo si no existe.
El> sobrescribe el archivo si existe o lo crea si no existe.

En cualquier caso, la salida del programa se almacena en el archivo cuyo nombre se proporciona después del operador de redireccionamiento.

Ejemplos:
$ ls > allmyfiles.txt crea el archivo "allmyfiles.txt" y lo llena con la lista de directorios del comando ls

$ echo "End of directory listing" >> allmyfiles.txt agrega "Fin de listado de directorio" al final del archivo "allmyfiles.txt"

$ > newzerobytefile crea un nuevo archivo de cero bytes con el nombre "newzerobytefile" o sobrescribe un archivo existente del mismo nombre (haciéndolo de cero bytes de tamaño)



0

=> th> el operador usa para sobrescribir el archivo si existe, de lo contrario creará un nuevo archivo EX cat> example1 => Si el archivo 'example1' existe, se sobrescribirá; de lo contrario, creará un nuevo archivo => el >> operador usa para agregar al final del archivo EX cat >> ejemplo1


44
Esa es exactamente la misma información que andyh_ky publicada anteriormente. No tiene sentido repetir una respuesta anterior. Tampoco tiene sentido agregar un comentario sin sentido.
— John Gardeniers

-4

¿No puede localizar la página del manual de bash ? Simplemente escriba man bash en el símbolo del sistema.


Puede intentar agregar contenido útil a su comentario. Acaban de tener una publicación de blog que habla sobre las respuestas de estilo RTFM blog.serverfault.com/post/1306724710/rtfm Tal vez podría mencionar que los operadores> y >> se utilizan para la redirección de E / S tldp.org/LDP/abs/html/io -redirection.html Likewise <se usa para leer un archivo en stdin.
— Tim Bielawa

Estoy de acuerdo con @Tim. Estoy totalmente a favor del método de aprendizaje "enseñar a un hombre a pescar". Sin embargo, en este caso, y especialmente para un principiante, no hay ninguna indicación de que los redireccionadores de salida sean manejados por el shell del usuario.
— EEAA

-1 porque la página de manual de bash es una de las más difíciles de seguir con las que tengo que lidiar regularmente.
— Sparr

¡Oh vamos! ¡Esto no es RTFM! Puede ir a la página de manual de bash (y le proporcioné un enlace) presione ctrl-F y escriba >> Lo primero que muestra es el uso de >> Además, esta pregunta es tarea: ¿Respondemos la tarea (fue respondido por andyh_ky) o ¿mostramos dónde está la respuesta?
— adamo 01 de

¿Cómo es decirle que busque "la página del manual de bash", no un caso de Read The F ****** Manual? ¡Incluso tiene la palabra manual!
— Sam Cogan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.