don_crissti отметил в комментариях:
Это недоступно из репозиториев, только из AUR .
for shell in $(sed '1d' /etc/shells); do # or use your own list of shells
echo "$shell -"
time $shell /path/to/script
done
Ключом к производительности оболочки является минимизация количества дорогих системных вызовов, в частности fork()
и exec()
.
Не используйте grep
или sed
внутри цикла shell. Никогда не используйте конвейер с обоими; в большинстве случаев его можно свести к sed
или awk
.
Если все усложняется, используйте язык, который может разбирать регулярные выражения, и делать циклы, например awk или perl.
С другой стороны, если вы можете обойтись простой обработкой текста, предлагаемой оболочкой, вы можете выжать из нее много производительности.
При этом at&t ksh93 всегда был оптимизирован для скорости, в то время как bash и zsh имеют гораздо больше возможностей.