Bir --sonraki komutları kullanan birçok ders gördüm . Bunun gibi bir şey:
command --
Bu ne anlama --geliyor?
Bir --sonraki komutları kullanan birçok ders gördüm . Bunun gibi bir şey:
command --
Bu ne anlama --geliyor?
Yanıtlar:
--Komut satırı seçeneklerinin sonunu belirtmek için kullanılır. Bu, ile başlayan argümanları kullanmanızı sağlar --. Örneğin, adında bir dosya oluşturursanız --foo:
$ > '--foo'
$ ls
--foo
Ve sonra onu silmeyi deneyin, rmbir argüman verdiğinizi düşüneceksiniz:
$ rm --foo
rm: unrecognized option '--foo'
Try 'rm ./--foo' to remove the file '--foo'.
Try 'rm --help' for more information.
Bunun bir yolu da kullanmaktır --:
$ rm -- --foo
Bu yaygın bir uygulamadır ve POSIX tarafından önerilmektedir , bu yüzden birçok program tarafından desteklenmektedir.
rmprogramı ve birçok POSIX uyumlu araçlardan. Kılavuz İlke 10'a bakınız . Aslında, işi yapan Bash'in olmadığını (ve bunun bir anlam ifade etmeyeceğini) kontrol etmek için, sadece küçük bir senaryo oluşturun printf '> %s <\n' "$@"ve onunla başlayın --.
--, ama tabii ki, sadece ilgili Perl modülü ( getopts) de destekliyor. Oldukça haklısın, hemen aradım man bash, alıntı yaptığım kısmı gördüm ama "komut satırı seçenekleri" bölümünde olduğunu fark etmedim. Düzeltme için teşekkürler, cevap düzenlendi.