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 mailing list
[email protected]
https://lists.altlinux.org/mailman/listinfo/devel-newbies

Ответить