Tengo un problema extraño con el siguiente comando:
# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.
el comando no es alias
# type chown
chown is hashed (/bin/chown)
¿Dónde puedo mirar más lejos?
command-line
chown
Marco Marsala
fuente
fuente

chown -R myuser:mygroup ./*Respuestas:
Como la expansión glob (ruta) se realiza primero por el shell antes de las
chownejecuciones, el patrón glob*se expande primero a todos los archivos en el directorio actual y loschownobtiene como sus opciones y argumentos. Tiene un archivo en el directorio actual que comienza con-i, porchownlo tanto, lo está considerando como una opción, no como un argumento (nombre de archivo).Debe usar
--para indicar el final de las opciones parachown:O preceda el patrón glob (
*) con./para indicarlo explícitamente como argumento:fuente
chown -R myuser:mygroup ./*, que la divide enchown,-R,myuser:mygroup,./*y luego reemplaza patrones globales con las trayectorias del sistema de ficheros correspondientes, por ejemplo.chown,-R,myuser:mygroup,./-index.html,./favicon.ico,./My -ve Numbers. Dado que chown solo busca que el primer personaje sea un guión al buscar args opcionales, se supondrá que esos son args posicionales.El problema era un archivo nombrado
-index.phpen la carpeta, por lo que chown lo interpretó como una opción de línea de comando.La solución estaba usando los guiones dobles
chown -R myuser:mygroup -- *fuente