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.