Niektóre polecenia używają małych liter r
jako flagi rekurencyjnej, podczas gdy inne używają dużej litery R
.
cp -r foo/ bar/
chmod -R 777 foobar/
Czy jest tego powód?
Niektóre polecenia używają małych liter r
jako flagi rekurencyjnej, podczas gdy inne używają dużej litery R
.
cp -r foo/ bar/
chmod -R 777 foobar/
Czy jest tego powód?
Odpowiedzi:
cp
faktycznie akceptuje oba.
Od cp --help
:
-R, -r, --recursive copy directories recursively
Dla zachowania spójności większość poleceń powłoki używa -R
jako flagi rekurencyjnej , prawdopodobnie dlatego, że imitują zachowanie ls
.
Od ls --help
:
-r, --reverse reverse order while sorting
-R, --recursive list subdirectories recursively
Nie jestem pewien, czy istnieje jakiś konkretny powód niespójności poza tym, że programiści mogą zdecydować się na użycie dowolnych flag.
Nie sądzę, aby istniała jakaś forma tego standardu, więc trudno oczekiwać, że wszyscy pójdą w jego ślady.
chmod -r
jest już używane w znaczeniu czegoś innego niż rekurencyjne!