Всем доброго времени суток. Имеется код следующего вида:
BEGIN {
if (ARGV[1] == "+") {
print ARGV[2] + ARGV[3]
}
else if (ARGV[1] == "-") {
print ARGV[2] - ARGV[3]
}
else if (ARGV[1] == "*") {
print ARGV[2] * ARGV[3]
} /* Приблизительное расположение проблемы */
else if (ARGV[1] == "/") {
print ARGV[2] / ARGV[3]
}
else {
print "Unknown operator"
}
}
По задумке выполняться должен примерно так:
awk -f script.awk * 2 2
4
root@localhost:~#
Проблема заключается в том, что при попытке выполнить умножение через этот код - не возвращается ничего.
Изначально в строке с умножением кода стояло «=» заместо «==», и при этом всегда возвращался ноль.
Что я сделал не так?
P. S. Попытки экранировать звёздочку символом обратным слэшем заканчивались выводом
awk: test.awk:8: warning: escape sequence "\*" treated as plain "*"
Умоляю, помогите :c