Возможно, глупый ответ, но в моем терминале мне нужно было бы набрать:
./factorial.awk
, где файл - factorial.awk.
Вы можете отредактировать переменную окружения вашего пути для включения. но ./ должно работать нормально, я думаю. И добавление. $ PATH может оказаться очень опасным в некоторых ситуациях, когда вы будете запускать код, который вы не ожидали.
Это работает ??
EDIT:
. / Factorial.awk
-bash: ./factorial.awk: / usr / bin / gawk: плохой интерпретатор: нет такого файла или каталога
Это говорит о том, что он запустил файл, но не смог найти программу gawk.
Пожалуйста, введите «который gawk», а затем «который awk».
Ваша первая строка должна быть:
#!/usr/bin/awk
Кроме того, просто чтобы развлечь меня, введите:
sudo apt-get install gawk
Это позволит вам убедиться, что в вашей системе есть gawk.
EDIT2:
Я посмотрел на ваш код, и это то, что у меня есть сейчас. Я удалил две кавычки и тире.
#!/usr/bin/gawk
# I think we do not need these (p.179) so I comment them out, since I do not know where else to put them.
# The same bug occurs also with them.
#fact = number
#for (x = number -1 ; x > 1; x--)
# fact *= x
awk # factorial: returns factorial of user-supplied number
BEGIN {
printf("Enter number: ")
}
$1 ~ /^[0-9]+$/ {
# assign value of $1 to number & fact
number = $1
if (number == 0)
fact = 1
else
fact = number
#loop to multiply fact*x until x = 1
for (x = number - 1; x > 1; x--)
fact *= x
printf("The factorial of %d is %g\n", number, fact)
#exit -- saves user from typing ^-d
exit
}
# if not a number, prompt again.
{ printf("\nInvalid entry. Enter a number: ")
}