Псевдоним для целочисленного калькулятора Bash

Мой .bash_aliases файл заполняется с однобуквенными псевдонимами (такими как o для octave-cli и r для sudo reboot.

Некоторое время я желал реализовать встроенный калькулятор Bash, чтобы сделать быстрые вычисления, главным образом целочисленное умножение и возведение в степень. Иногда я буду работать echo $((expression)) в терминале однако было бы замечательно сделать сокращение от этого, так, чтобы я мог просто записать

c expression

в терминал. Это было бы идеально к declaire что-то как

alias c="echo $(($@))"

в .bash_aliases файл, однако который не работает (он печатает 0, а также нерешенное выражение). В том, что пути, я должен изменить команду выше для позволения 'выражению' c expression быть переданным на echo $(($@)). У меня была идея включать функцию в .bash_aliases файл, однако не знайте, как правильно направить аргумент.

1
задан 2 February 2020 в 08:25

1 ответ

Псевдонимы не могут взять позиционные параметры. Для этого Вам была бы нужна функция:

$ c(){ echo "$(($@))";  }
$ c 2+2
4

Это - ничего нового, ни избегает вопроса о псевдонимах. То же было покрыто здесь, здесь, здесь, и дюжина других сообщений.

В то время как возможно "моделировать" поведение для псевдонимов в некоторых случаях с xargs, подход является подверженным ошибкам, трудным поддержать и последовательно не работает. В целом, если Вы не хотите использовать функцию по некоторым причинам, но хотеть иметь утилиту командной строки для выполнения вычислений, используйте предложения, данные в Каком-либо калькуляторе командной строки для Ubuntu?. Специальный инструмент, такой как предложенные может сделать больше, чем просто удар арифметическое расширение, которое является другим преимуществом.

2
ответ дан 20 February 2020 в 23:03

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

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