- Birçok komut satırı yardımcı programı kısa biçimli seçenekleri (
-f) ve uzun biçimli seçenekleri (--force) destekler
- Kısa biçim etkileşimli kullanım içindir; scriptlerde uzun biçimin kullanılması tavsiye edilir
- Örneğin terminalde
$ git switch -c my-new-branch yazarsınız.
- Sürüm scriptinde ise şöyle yazılır:
try shell.exec("git fetch origin --quiet", .{});
try shell.exec("git switch --create release-{today} origin/main", .{ .today = stdx.DateUTC.now() }, );
- Uzun biçimli seçenekler okuyucu için çok daha açıklayıcıdır
1 yorum
Hacker News yorumu
Uzun seçenekleri tercih ederim, ancak POSIX komutlarını taşınabilir biçimde çağırmanız gerektiğinde tek seçenek kısa seçeneklerdir. POSIX uzun seçenekleri tanımlamaz
diffbelirtimine bakabilirsinizgrepçağırmak yerinelibpcregibi bir şey kullanmak daha verimli olabilirgit,hg,rg,aggibi POSIX dışı araçlarda uzun seçenekler kullanmak mantıklıdırDize enterpolasyonu ile komut çalıştırmayı birbirine karıştırmamalısınız
execv(2),execvp(2)vb. çağrılara iletmek için liste tabanlı veya dizi tabanlı çalıştırma API'leri kullanılmalıdırUzun seçeneklerin kullanılması gerektiğine katılıyorum, ancak taşınabilirlik hesaba katılmalıdır
Tüm seçeneklerden sonra, dinamik argümanlardan önce
--kullanmayı unutmayınKomutu çağırmadan önce komut uzunluğunun
ARG_MAXdeğerinden büyük olup olmadığını kontrol etmelisinizgrep --ignore-case --files-with-matches -- "hello" *.cCMD="grep --ignore-case --files-with-matches -- \"hello\" *.c"ARG_MAX=$(getconf ARG_MAX)CMD_LEN=${#CMD}if (( CMD_LEN > ARG_MAX )); thenecho "Error: Command length ($CMD_LEN) exceeds ARG_MAX ($ARG_MAX)." >&2exit 1fieval "$CMD"# uyarı, dosya adlarını değerlendirirBu yaklaşıma katılıyorum. Bir başka avantajı da seçeneğin ne yaptığını
mansayfasındagrepile aramanın daha kolay olmasıdırBetiğinizi başka POSIX sistemlerine taşınabilir yapmak istiyorsanız kısa seçenekler kullanmanız gerekebilir
Takip etmeyi ve
git blamekullanmayı kolaylaştırmak için seçenekler ayrı satırlarda tutulmalıdırBu, betik yazarken temel kurallardan biridir. Uzun seçenek mümkünse kullanılmalıdır
Uzun biçimli seçenekler okuyucu için çok daha açıklayıcıdır