chown: nieprawidłowa opcja - „i” Spróbuj „chown --help”, aby uzyskać więcej informacji


15

Mam dziwny problem z następującą komendą:

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

polecenie to nie jest aliasami

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

Gdzie mogę szukać dalej?


1
Możesz spróbowaćchown -R myuser:mygroup ./*
Kris,

Odpowiedzi:


28

Ponieważ rozszerzenie glob (nazwa ścieżki) jest wykonywane najpierw przez powłokę przed chownuruchomieniem, wzorzec glob *jest najpierw rozwijany do wszystkich plików w bieżącym katalogu i chownpobiera je jako opcje i argumenty. W bieżącym katalogu masz plik, który zaczyna się od -i, dlatego chownrozważa go jako opcję, a nie argument (nazwę pliku).

Musisz użyć, --aby wskazać koniec opcji dla chown:

chown -R myuser:mygroup -- *

Lub poprzedź wzorzec glob ( *), ./aby wyraźnie wskazać go jako argument:

chown -R myuser:mygroup ./*

Przedrostek za pomocą ./ nie oznacza, że ​​jest to argument (oznacza tutaj nazwę pliku), ale oznacza, że ​​żadna z rozszerzonych nazw nie będzie wyglądać jak opcja (zaczynając od „-”). Gdy powłoka widzi takiej linii chown -R myuser:mygroup ./*, że dzieli go na chown, -R, myuser:mygroup, ./*a następnie zastępuje wzory glob z odpowiednimi ścieżkami System plików, np. chown, -R, myuser:mygroup, ./-index.html, ./favicon.ico, ./My -ve Numbers. Ponieważ chown szuka tylko pierwszego znaku jako myślnika, szukając argumentów opcji, zakłada się, że są to argumenty pozycyjne.
Jim Driscoll,

7

Problemem był plik nazwany -index.phpw folderze, więc chown zinterpretował go jako opcję wiersza poleceń.

W rozwiązaniu zastosowano podwójne myślniki chown -R myuser:mygroup -- *


4
czy to nie jest ta sama odpowiedź udzielona przez @heemayl?
Kris,

3
@Kris obie odpowiedzi zostały opublikowane prawie w tym samym czasie ;-)
Rinzwind

1
Zaciemniłeś użytkownika i grupę w swoim pytaniu, ale nie w swojej odpowiedzi ...
Thomas

3
@Kris Jest raczej mało prawdopodobne, że skopiował drugą odpowiedź w ciągu 39 sekund po jej postawieniu.
UTF-8

przepraszam, nie chciałem im tego sugerować.
Kris,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.