[newbies] Неиспользуемые переменные в Bash и оптимизация
Leonid Krivoshein
klark.devel на gmail.com
Пн Дек 1 18:40:44 MSK 2025
On 12/1/25 17:14, Alexander Lubyagin wrote:
> Разбирался тут с подсказками shellcheck, и обнаружил следующее.
>
> Вот такой скрипт не выполняет функцию func:
>
> #!/bin/bash
> func()
> {
> echo "---" "$1"
это небезопасно, лучше так:
printf "%s %s\n" "---" "$1"
> }
> i="abc:123"
> echo $i
> v="$(func ${i%%:*})"
> # echo "$v"
> # END
>
> Если `echo` раскомментировать, то он выполняет функцию func, и
> допечатывает "--- abc".
>
> Вопрос. Bash "выкидывает" неиспользуемые ветви кода? Есть ли у него
> встроенная оптимизация?
Нет. Но shellcheck может найти неиспользуемый код и предупредит об этом.
--
WBR, Leonid Krivoshein.
Подробная информация о списке рассылки devel-newbies