8

Некоторые команды используют нижний регистр r для своего рекурсивного флага, в то время как другие используют заглавную букву R

cp -r foo/ bar/

chmod -R 777 foobar/

Для этого есть причина?

2 ответа2

8

cp самом деле принимает оба.

Из cp --help:

  -R, -r, --recursive          copy directories recursively

Для согласованности большинство команд оболочки используют -R в качестве рекурсивного флага, вероятно потому, что они имитируют поведение ls .

Из ls --help:

  -r, --reverse              reverse order while sorting
  -R, --recursive            list subdirectories recursively
3

Я не уверен, что есть какая-то конкретная причина несоответствия, кроме того, что программисты могут использовать любые флаги, которые они хотят.

Я не думаю, что есть какая-то форма стандарта для этого, поэтому трудно ожидать, что все последуют этому примеру.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .