Похоже, что текущий способ получения входных данных через read
неверен, поэтому математика выполняется на пустом месте, и в итоге вы не получаете ничего в качестве ответа. Вам просто нужно исправить этот аспект, и остальная часть вашего кода будет работать.
Выдержка из вашего оригинального кода показывает, что вы пытались сохранить первое число следующим образом:
echo "Enter the first number"
read $num1
Вместо этого попробуйте использовать -p
для подсказки и назвать переменную num
без знака доллара. Вы даже можете проверить следующее read -p ...
в командной строке, и вы увидите:
$ read -p "Enter the first number" num1
Enter the first number:
Теперь введите 1:
$ read -p "Enter the first number" num1
Enter the first number: 1
Теперь, если вы echo $num1
, вы успешно увидите значение:
$ echo $num1
1
-p the_prompt_text
- это способ включить подсказкуecho
, echo
добавляет возврат строки в конце. Но поскольку -p
этого не делает, хорошей идеей будет дополнительный пробел, как это сделал я, обратите внимание, что после двоеточия :
у меня пробел: "Введите первое число: "
. Это сделано для того, чтобы вводимые пользователем данные не выглядели набегающими прямо перед двоеточием. $
, таким образом у нас было read
и затем num1
Так что с этим, вы должны быть в состоянии адаптировать read
части вашего скрипта и это будет работать нормально.
Подобно ll
— общепринятый псевдоним для ls -l
,h
— общепринятый псевдоним для history
или history <some-number>
, history
— встроенная команда csh
для отображения истории (команды, которые вы ранее запускали ), теперь также находятся в bash
,zsh
(такие же, как fc -l
),ksh
(как предварительно -определенный псевдоним дляhist -l
)fish
иyash
(как предварительно -определенная функция ).
Пытаясь раскопать некоторые старые примеры, см., например, этот старый пост юзернета от 1984 года .
Если вы читали, что это упоминается в какой-либо документации, возможно, автор использовал этот псевдоним в своих ~/.cshrc
/ ~/.bashrc
... или использовал системы, где этот псевдоним был определен для всей системы -. Учитывая, что они упоминают команду help
, которая является именем встроенной команды оболочки bash
, возможно, это была оболочка, которую они имели в виду.
Чтобы узнать, что h
находится в вашей оболочке, введите type h
, если вы используете оболочку типа Bourne -, или fish
, или which h
, если используете tcsh
, или whatis h
, если используете rc
. / es
... В csh
посмотрите, возвращает ли что-нибудь alias h
. Если они возвращают, что h
является псевдонимом для history
, этот псевдоним, вероятно, был определен в одном из файлов конфигурации вашей оболочки.
Фактический синтаксис history
зависит от оболочки. Подробности см. в документации по вашей оболочке(info bash history
для оболочки bash
, например ).