Для того, чтобы текстовый файл можно было использовать как команду, существует несколько возможностей.
Пусть с помощью редактора создан файл с именем "cmd", содержащий одну строку следующего вида:
date; pwd; ls
$ sh cmd или $ sh . Введенное вами число
При обращении к shell-переменной необходимо перед именем ставить символ "$". Так команды
echo $var_2 echo var_2
ОС UNIX var_2
echo "var_2 = $var_2"
var_2 = ОС UNIX
То что здесь присутствуют пробелы между именем переменной и символом присваивания, а также между символом присваивания и
значением, так это потому, что здесь мы имеем дело лишь с текстом, куда подставлены значения переменных. Там, где действительно выполняется присваивание, пробелы в этих местах НЕДОПУСТИМЫ. Присваивание, скажем, w= означает присваивание переменной "w" пустой строки. Но и пустую строку лучше присваивать аккуратно, например w="".
Для того, чтобы имя переменной не сливалось со строкой, следующей за именем переменной, используются фигурные скобки.
Пусть
a=/mnt/lab/asu/
cat /mnt/lab/asu/prim
cat ${a}prim
Если также предположить, что в системе есть переменная "prim" и "prim=dir" , то команда
echo ${a}$prim
/mnt/lab/asu/dir