Eu não sei o que está acontecendo com a sua montagem do sistema de arquivos, mas trabalhar é muito simples. Você só precisa entender o que a shebang está realmente fazendo.
Quando um arquivo é marcado como executável e você tenta executá-lo, os dois primeiros bytes do arquivo são verificados. Se eles forem #! , o shell executará a primeira linha do seu arquivo como um comando, seguido pelo caminho para o próprio arquivo como um argumento para esse comando.
Em outras palavras, #!/bin/bash , colocado como a primeira linha em um arquivo chamado /tmp/myscript.sh , será executado como /bin/bash /tmp/myscript.sh .
Da mesma forma, #!/usr/bin/awk -f como a primeira linha de ./awkTest.awk , quando executada, se torna (ou deve se tornar se o problema de montagem não estiver interferindo) /usr/bin/awk -f ./awkTest.awk .
A solução é apenas executar awk -f awkTest.awk e seu script será executado conforme o esperado.
Observe que, como awk é interpretado em vez de compilado, um noexec sinalizador nas opções de montagem do dispositivo que contém seu script awk não impede você de executar seu script. Isso só o impede de executá-lo como um executável . Portanto, tudo o que você precisa fazer é executar o executável binário awk ( /usr/bin/awk ) e ele lerá seu script awk , o que obviamente não é impedido pelo sinal noexec , e ele fará o que você escreveu.