Diğerlerinin de belirttiği gibi, sed'in ve diğer metin tabanlı araçların bir komut dosyasının herhangi bir kısmı yorum gibi görünüyor ancak aslında çalışmıyorsa iyi çalışmaz. Örneğin, bir dizenin içinde bir # veya oldukça yaygın olan $#
ve öğesini bulabilirsiniz ${#param}
.
Kod küçültme özelliği olan shfmt adlı bir kabuk biçimlendirici yazdım . Bu, diğer şeylerin yanı sıra yorumların kaldırılmasını içerir:
$ cat foo.sh
echo $# # inline comment
# lone comment
echo '# this is not a comment'
[mvdan@carbon:12] [0] [/home/mvdan]
$ shfmt -mn foo.sh
echo $#
echo '# this is not a comment'
Ayrıştırıcı ve yazıcı Go paketleridir, bu nedenle özel bir çözüm istiyorsanız, yorumları tam olarak istediğiniz şekilde kaldırmak için 20 satırlık bir Go programı yazmak oldukça kolay olmalıdır.