Neden -r özyinelemeli bayrak başkenti bazılarında, bazılarında daha düşük?


8

Bazı komutlar rözyinelemeli bayrağı için küçük harf , diğerleri büyük harf kullanır R.

cp -r foo/ bar/

chmod -R 777 foobar/

Bunun bir nedeni var mı?

Yanıtlar:


8

cp aslında ikisini de kabul eder.

Kimden cp --help:

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

Tutarlılık için, çoğu kabuk komutları özyinelemeli bir bayrak -Rolarak kullanır , çünkü muhtemelen davranışını taklit ederler .ls

Kimden ls --help:

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

1
Ayrıca, chmod -rzaten özyinelemeden başka bir şey ifade etmek için kullanılır!
Darth Android

3

Bu programcıların istedikleri bayrakları kullanmayı seçebileceklerinden başka tutarsızlıkların belirli bir nedeni olduğundan emin değilim.

Bunun için standart bir yöntem olduğunu sanmıyorum, bu yüzden herkesten uymasını beklemek zor .


7
Sebep muhtemelen tarihi olurdu. 70'lere kadar uzanan büyük Unix dünyasında, özyinelemeli anahtarlar her zaman orada değildi ve bazı komutlar zaten -r'yi bir anahtar olarak kullanmıştı. Komutlar genellikle komut dosyalarında kullanıldığı için, geriye dönük uyumlulukla ilişkili büyük atalet vardır, bu nedenle bunlar temelde asla değişmez - bir programa seçenekler ekleyebilirsiniz, ancak uzun zamandır oluşturulmuş işlevselliği değiştirmeye çalışan geliştirici olabilirsiniz.
Stephanie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.