31 votos

¿Qué >> o corchetes angulares dobles decir?

Parece una simple pregunta, pero no puedo encontrar cualquier tipo de recurso que, respecto a ella,

En C/C++ , que significa tienda de la lectura en un valor de símbolo del sistema y almacenarlo en el interior de una variable ,

¿Y en la Programación de la Shell?

55voto

Antonios Puntos 489

>> puede ser utilizado para la tubería de salida en un archivo de texto y se anexará a cualquier texto existente en el archivo.

"cualquier comando' >> archivo de texto.txt

añade la salida de cualquier comando en el archivo de texto.

el uso de > sobrescribirá.

12voto

Brask Puntos 1003

El soporte de ángulo recto símbolo (>) se utiliza para redirigir la salida a un archivo de disco. Si el archivo especificado no existe, se crea; si no existe, se sobrescribe. El corchete izquierdo símbolo (<) se utiliza para redirigir la entrada desde un archivo de disco. Para anexar la salida a un archivo existente, el uso de doble ángulo recto entre corchetes (>>)

8voto

Presbitero Puntos 693

El > y >> de redirección operadores de FD (Descriptores de Archivo)

En bash que han árbol estándar FD que son el estándar de entrada (strin), la salida estándar (strout) y el error estándar (strerr). Estos también pueden ser llamados por FD 0, FD 1 y FD 2, respectivamente.

Normalmente, usted tendría tendría todas FD apuntando a la terminal, pero esto puede ser cambiado mediante el uso de la redirección.

Por ejemplo, si se llama:

command > log.txt

Usted va a redirigir la salida al archivo log.txt Esto es similar como llamar a:

command 1> log.txt

Como esto sólo redirige strout usted todavía será capaz de ver el error en el terminal. Con el fin de redirigir strerr para usted log.txt archivo que usted tendrá que ejecutar:

command 2> log.txt

De nuevo, esto sólo redirige strerr. Si desea redirigir tanto stdout y stderr se necesita duplicar su salida stderr a stdout mediante el uso de la >& comando.

command 1> log.txt 2>&1

Para entender este comando usted necesita leer el formulario de la derecha a la izquierda, primero una copia de stderr se realiza a stdout, entonces strout, es redirigido a la log.txt archivo.

Cuando se utiliza la redirección de esta manera, bash no miran si el archivo existe o no y simplemente crear uno sin importar si eso implica borrar uno existente. Si quieres evitar perder lo que ya ha sido escrito en el archivo de registro puede, a continuación, utilizar la >> comando en la misma manera que se explicó anteriormente, pero en este caso todas las salidas se anexará a los archivos existentes.

Para su uso en C++ con cin, cout y cerr creo hash dio una respuesta mejor que yo.

Yo no soy un experto en estos así que yo podría haber conseguido algunas cosas mal. Para una información más completa que yo aconsejo la lectura de Bash guía de Greg Wiki

7voto

precise Puntos 5781

En C/C++:

En C/C++ la Izquierda y a la Derecha operadores de Desplazamiento de utilizar los símbolos << y >> como el operador bit a bit; que realice las operaciones del turno en bits. C++ también hace el uso de la sobrecarga bit a bit operadores de desplazamiento en el básico de Entrada/Salida operaciones; >> y << soportes en C++ se utilizan para la extracción y la inserción de los datos/información a los arroyos que pueden ser estándar de entrada/salida de archivos.

En Shell Scripting/Programación:

En Shell Scripting/Programación, no muy diferente de la de extracción/inserción de las operaciones como se mencionó anteriormente, el >> / << (variantes de > / < operadores) son utilizados para redirigir el estándar de corrientes desde / a los definidos por los usuarios y realizar anexar (diferentes de > / < que sobrescribe) operaciones.

Referencias:

Usted podría estar interesado en la lectura:

0voto

smn_onrocks Puntos 189

En la secuencia de comandos de shell de la > operador que va a crear un archivo que se puso derecho y se borrará todo el contenido del archivo si existen pero la >> le agregue el texto al archivo que se tenga derecho a ella preferible >> va a utilizar en la escritura del archivo de registro. como desea agregar tiempo,contar o algunos registros del proceso y > para crear un nuevo archivo a probar esto:

  #!/bin/bash
  nowt=$(date +"%T")
  date1=$(date +"%s")
  NOW=$(date +"%d-%m-%Y")
  now=$NOW" "$nowt
  file_name=$NOW"_"$nowt".log"
  echo "START TIME WAS :$now " | cat > /home/user/Desktop/$file_name
  sh some_sh_file you want to run  2>&1 | tee >> /home/user/Desktop/$file_name #want to log the out put
  nowt=$(date +"%T")
  date2=$(date +"%s")
  NOW=$(date +"%d-%m-%Y")
  now=$NOW" "$NOW
  diff=$(($date2-$date1))
  echo "$(($diff / 60)) minutes and $(($diff % 60)) seconds elapsed."
  echo "END TIME WAS :$now" | cat >> /home/user/Desktop/$file_name
  echo "$(($diff / 60)) minutes and $(($diff % 60)) seconds elapsed." | cat >> /home/user/Desktop/$file_name  

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X