Написанная вами программа:
#!/bin/bash
num=$(($1 + $2))
echo "$num"
Ожидает значения $ 1
и $ 2
(которые являются позиционными аргументами ), который необходимо указать в списке аргументов программы (скрипта).
Чтобы заставить такую программу работать, вам нужно вызвать ее следующим образом:
$ ./prog 3 5
8
Поместите каждый аргумент $ 1
и $ 2
в вызывающую командную строку.
Если вам нужна программа, которая считывает ввод из файла, вам нужно использовать read:
#!/bin/bash
read var1
read var2
num=$((var1 + var2))
echo "$num"
Затем вы вызываете ее так:
$ ./newprog < test1.in
2