versiones guia español actualizar linux command find backslash

linux - guia - qgis español



¿Por qué se requieren la barra invertida y el punto y coma con la opción-exec del comando find? (2)

La barra invertida antes del punto y coma se utiliza, porque ; es uno de los operadores de lista (o && , || ) para separar comandos de shell. Por ejemplo:

command1; command2

La utilidad de find está utilizando ; o + para terminar los comandos de shell invocados por -exec .

Por lo tanto, para evitar la interpretación de los caracteres de shell especiales, deben eliminarse con una barra invertida para eliminar cualquier significado especial para el siguiente carácter leído y para la continuación de la línea.

Por lo tanto, la siguiente sintaxis de ejemplo está permitida para el comando de find :

find . -exec echo {} /; find . -exec echo {} '';'' find . -exec echo {} ";" find . -exec echo {} /+ find . -exec echo {} +

Ver también:

He empezado a combinar diferentes comandos en el terminal de linux. Me pregunto por qué se requieren la barra invertida y el punto y coma para un comando como:

find ./ -name ''blabla'' -exec cp {} ./test /;

cuando un simple comando cp es simplemente:

cp randomfile ./test

sin el /;

¿Deben indicar claramente el final de un comando o simplemente se requiere en la documentación? ¿Cuál es el principio subyacente?

¡Gracias!


de "hombre encontrar":

Todos los siguientes argumentos para buscar se consideran argumentos del comando hasta que un argumento que consta de '';'' se encuentra

find necesita saber cuándo se terminan los argumentos de exec. Es natural terminar un comando de shell con; Porque también el shell usa este carácter. Por la misma razón, este carácter debe escaparse cuando se inserta a través del shell.