Мой .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 файл, однако не знайте, как правильно направить аргумент.
Псевдонимы не могут взять позиционные параметры. Для этого Вам была бы нужна функция:
$ c(){ echo "$(($@))"; }
$ c 2+2
4
Это - ничего нового, ни избегает вопроса о псевдонимах. То же было покрыто здесь, здесь, здесь, и дюжина других сообщений.
В то время как возможно "моделировать" поведение для псевдонимов в некоторых случаях с xargs
, подход является подверженным ошибкам, трудным поддержать и последовательно не работает. В целом, если Вы не хотите использовать функцию по некоторым причинам, но хотеть иметь утилиту командной строки для выполнения вычислений, используйте предложения, данные в Каком-либо калькуляторе командной строки для Ubuntu?. Специальный инструмент, такой как предложенные может сделать больше, чем просто удар арифметическое расширение, которое является другим преимуществом.