chown: opzione non valida - 'i' Prova 'chown --help' per ulteriori informazioni


15

Ho uno strano problema con il seguente comando:

# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.

il comando non è alias

# type chown
chown is hashed (/bin/chown)

Dove posso guardare oltre?


1
Potresti provarechown -R myuser:mygroup ./*
Kris,

Risposte:


28

Man mano che l'espansione glob (nome percorso) viene eseguita per prima dalla shell prima delle chownesecuzioni, il modello glob *viene prima esteso a tutti i file nella directory corrente e li chownottiene come opzioni e argomenti. Hai un file nella directory corrente che inizia con -i, quindi chownlo considera come un'opzione, non come un argomento (nome file).

È necessario utilizzare --per indicare la fine delle opzioni per chown:

chown -R myuser:mygroup -- *

O precedere il modello glob ( *) con ./per indicarlo esplicitamente come argomento:

chown -R myuser:mygroup ./*

Il prefisso con ./ non significa che sia un argomento (che significa qui il nome del file), ma non significa che nessuno dei nomi espansi sembrerà un'opzione (che inizia con "-"). Quando il guscio vede una linea come chown -R myuser:mygroup ./*, si divide in chown, -R, myuser:mygroup, ./*e quindi sostituisce modelli glob ai corrispondenti percorsi del file system, ad es. chown, -R, myuser:mygroup, ./-index.html, ./favicon.ico, ./My -ve Numbers. Dal momento che chown cerca solo il primo carattere che è un trattino quando cerca argomenti di opzione, presumerà che quelli siano argomenti di posizione.
Jim Driscoll,

7

Il problema era un file chiamato -index.phpnella cartella, quindi chown lo interpretava come un'opzione della riga di comando.

La soluzione stava usando i doppi trattini chown -R myuser:mygroup -- *


4
non è questa la stessa risposta già data da @heemayl?
Kris,

3
@Kris entrambe le risposte sono state pubblicate quasi contemporaneamente ;-)
Rinzwind

1
Hai offuscato l'utente e il gruppo nella tua domanda ma non nella tua risposta ...
Thomas

3
@Kris È piuttosto improbabile che abbia copiato l'altra risposta entro 39 secondi dalla sua posa.
UTF-8

scusa, non intendevo insinuare tale.
Kris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.