У меня странная проблема со следующей командой:
# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.
команда не псевдонимы
# type chown
chown is hashed (/bin/chown)
Где я могу посмотреть дальше?
У меня странная проблема со следующей командой:
# chown -R myuser:mygroup *
chown: invalid option -- 'i'
Try 'chown --help' for more information.
команда не псевдонимы
# type chown
chown is hashed (/bin/chown)
Где я могу посмотреть дальше?
Ответы:
Поскольку расширение glob (pathname) выполняется сначала оболочкой перед chownзапуском, шаблон glob *сначала распространяется на все файлы в текущем каталоге и chownполучает их в качестве параметров и аргументов. У вас есть файл в текущем каталоге, который начинается с -i, поэтому chownрассматривает его как параметр, а не как аргумент (имя файла).
Вы должны использовать, --чтобы указать конец вариантов для chown:
chown -R myuser:mygroup -- *
Или перед шаблоном glob ( *) ./явно указать его в качестве аргумента:
chown -R myuser:mygroup ./*
chown -R myuser:mygroup ./*она разбивает его на chown, -R, myuser:mygroup, ./*а затем заменяет модель Glob с соответствующими дорожками файловой системы, например. chown, -R, myuser:mygroup, ./-index.html, ./favicon.ico, ./My -ve Numbers. Поскольку chown ищет только первый символ, являющийся чертой, при поиске аргументов аргументов, он предполагает, что это позиционные аргументы.
Проблема заключалась в файле, названном -index.phpв папке, поэтому chown интерпретировал его как параметр командной строки.
Решение было с использованием двойных дефисов chown -R myuser:mygroup -- *
chown -R myuser:mygroup ./*