У bash $0
міститься назва сценарію, але в розгортанні, якщо я роблю сценарій на ім'я myscript.awk із наступним вмістом:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
і запустіть його, він буде друкувати лише "awk". Крім того, ARGV [i] з i> 0 використовується лише для аргументів сценарію в командному рядку. Отже, як змусити його надрукувати назву сценарію, в цьому випадку "myscript.awk"?
mawk
, що Ubuntu є типовим для Ubuntu? У моєму 15.04 ВМ за замовчуванням awk
є gawk
. Хоча mawk встановлений, він не є типовим.
awk -f myscript.awk
. Однак це не пов'язано з проблемою, про яку йдеться.
awk
сценарій, оскільки він починається з #!/usr/bin/awk -f
. Сценарії оболонки починаються з #!/bin/sh
(або чогось подібного).
awk -f file
.