Почему команда не работает для добавления реальных чисел?

Использовать пересылку порта ssh.

Подключиться к удаленному серверу с чем-то вроде этого:

ssh -L 8080:localhost:80 user@remoteserver

Теперь укажите локальный браузер на localhost: 8080. Он должен быть перенаправлен на localhost: 80 на удаленном сервере.

1
задан 29 March 2014 в 22:57

2 ответа

Bash не обрабатывает арифметику с плавающей запятой.

Если вам действительно нужна арифметика fp, используйте bc или dc. Например,

var=$(bc <<< "2.5+2.5")
echo "$var"

выведет 5.0 или с dc (много веселья, это обратная полировка):

var=$(dc <<< "2.5 2.5 + p")
echo "$var"

также выведет 5.0 .

4
ответ дан 24 May 2018 в 10:17

zsh - это другая оболочка, отличная от bash, которая позволяет плавать в оболочке. Если вы используете zsh вместо bash, которые поддерживают let с использованием плавающих точек, вам не нужно изменять скрипт. Просто установите его с помощью sudo apt-get install zsh, а затем используйте его в своем скрипте с помощью shebang #!/usr/bin/zsh или с помощью оболочки. Demostration:

➜  ~  let var=2.5+2.5                      
➜  ~  echo $var
5.0000000000

Сценарий должен работать нормально, поскольку zsh реализовал все функции, которые имеет bash и более. Второй пример не будет работать, потому что запятая (,) интерпретируется оболочками как разделитель. Он сообщает выполнить команду let с var=2 5+2 и 2.

2
ответ дан 24 May 2018 в 10:17
  • 1
    sudo apt-get install zsh sudo: невозможно изменить в sudoers gid: операция не разрешена ??? – user263207 29 March 2014 в 23:23
  • 2
    @ user263207 - это личная система? – Braiam 29 March 2014 в 23:25
  • 3
    Это сервер из школы, но они заверили меня, что только у меня есть доступ к моей учетной записи. – user263207 29 March 2014 в 23:30
  • 4
    @ user263207, вероятно, вы можете установить материал в систему, и именно поэтому. Вы можете использовать другие ответы, в которых используются материалы, доступные в большинстве версий Ubuntu. Но, помните, bash не поддерживает операции с плавающей запятой или десятичные числа;). – Braiam 29 March 2014 в 23:34

Другие вопросы по тегам:

Похожие вопросы: