chown: недійсний варіант - 'я' Спробуйте 'chown --help' для отримання додаткової інформації


15

У мене є дивна проблема із наступною командою:

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

команда не псевдоніми

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

Куди я можу заглянути далі?


1
Ви можете спробуватиchown -R myuser:mygroup ./*
Kris

Відповіді:


28

Оскільки розширення glob (ім'я шляху) виконується спочатку оболонкою перед 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 шукає лише, що перший персонаж є тире, коли шукає параметри arg, він припустить, що це позиційні arg.
Джим Дрісколл

7

Проблема полягала в назві файлу -index.phpв папці, тому Chown інтерпретував це як варіант командного рядка.

Для вирішення використовували подвійні дефіси chown -R myuser:mygroup -- *


4
це не та сама відповідь, яку вже дав @heemayl?
Кріс

3
@Kris обидві відповіді були опубліковані майже в один і той же час ;-)
Rinzwind

1
Ви заплутали користувача та групу у своєму запитанні, але не у своїй відповіді ...
Томас

3
@Kris Це навряд чи він скопіював іншу відповідь протягом 39 секунд після того, як вона була поставлена.
UTF-8,

вибачте, я не мав на увазі такого.
Кріс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.