[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