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 :)

jumbo18
fuente
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)

andyhky
fuente
3
Más genialidad de la
Tim Bielawa
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

Godani Bhavesh
fuente
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.

adamo
fuente
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