Sua pergunta é grande demais para ser respondida, exceto em termos gerais.
POSIX é uma família de padrões de interface de sistema operacional; você geralmente escreve utilitários de código / execução de maneira conforme você deseja que seu aplicativo seja executado em uma grande variedade de sistemas Unix-ish. Tão populares quanto o GNU binutils e o bash são, eles não são usados universalmente, então manter as funções, flags e utilitários em conformidade com POSIX pode economizar algumas dores de cabeça quando chegar a hora de mover um aplicativo de Linux para Mac OS.
"Script avançado" não é descritivo o suficiente para recomendar um idioma, mas se o que você está fazendo é executar programas e usar outro programa para processar os resultados, o shell é a ferramenta certa para isso. Acho que não importa muito qual shell você usa, já que os comuns são todos portáteis e podem ser construídos e instalados junto com seu aplicativo. Mas se você estiver usando estruturas de dados além de matrizes unidimensionais, deve usar uma linguagem que manipule com mais facilidade essas estruturas, por exemplo, Perl.