[20191010]bash行计算器.txt
[20191010]bash行计算器.txt
--//写一个bash行计算器,为了避免冲突,函数命名为2个=,1个=感觉不是很好(心里上^_^)。
--//使用bc计算器,里面函数不能使用圆括号,使用中括号代替。
== ()
{
local in="$(echo "$@" | sed -e 's/\[/(/g' -e 's/\]/)/g')";
echo $in | bc -lq | tr -d '\n\\\r' | sed -e "s/\.\([0-9]*[1-9]\)0\+$/.\1/" -e "s/\.0\+$//"
}
--//写入.bashrc脚本里面就ok了.
--//一些测试:
$ == "scale=4;4/3"
1.3333
--//有分号要加引号才行.
$ == 12*5+11.234
71.234
$ == l[100]/l[10]+1.234
3.234
--//函数使用中括号代替源括号.
$ == s[3.14159]
.00000265358979323534
$ == 2^240
1766847064778384329583297500742918515827483896875618958121606201292619776
--//在bc下执行出现折行情况.
$ echo 2^240 | bc -lq
17668470647783843295832975007429185158274838968756189581216062012926\
19776
$ == "scale=100;a(1)*4"
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170676
--//PI小数点100位.
[20191010]bash行计算器.txt的更多相关文章
- 一步步打造自己的linux命令行计算器
相信很多人,在工作中会需要使用到计算器.一般的做法是,打开并使用系统自带的计算器. 这种做法可能对我来说,有如下几个问题. 太慢.每次需要打开计算器,然后改成编程模式,手工选择进制,再使用输入表达式进 ...
- 参数化时按行读取txt文件,如何去掉换行符"\n"
参数化按行读取txt,每行默认自带了回车换行操作,导致脚本报错,故而按行读取时,需要去掉默认的'\n' #coding=utf-8 from selenium import webdriver imp ...
- 分享一个命令行计算器-bc
分享一个命令行计算器-bc 假如你在一个图形桌面环境中需要一个计算器时,你可能只需要一路进行点击便可以找到一个计算器.例如,Fedora 工作站中就已经包含了一个名为 Calculator 的工具.它 ...
- java指定编码的按行读写txt文件(几种读写方式的比较)
转: java指定编码的按行读写txt文件(几种读写方式的比较) 2018年10月16日 20:40:02 Handoking 阅读数:976 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- [20180730]exadata与行链接.txt
[20180730]exadata与行链接.txt --//最近一段时间在看<expert oracle exadata>,智能扫描的三大优化方法是:字段投影,谓词过滤,存储索引.大多数智 ...
- pwd命令和修改PS1环境变量在bash行的显示
一.pwd:显示当前所在的位置 语法 pwd [选项] ... 描述 打印当前工作目录的完整文件名. -L,--logical 从环境使用PWD,即使它包含符号链 ...
- C语言:按行读TXT文件
//搂行读取TXT #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_L ...
- 按行读取TXT文件中的内容
public Dictionary<int, string> GetDicFromLog() { try { StreamReader sr = new StreamReader(file ...
- bc:linux下命令行计算器
在linux下,存在一个命令行的计算器:bc.该程序一般随发行版发布. bc计算器能够执行一些基本的计算,包括+,-,×,\,%. 这些计算不经针对十进制,还可以使用二进制,八进制,十六进制,并且可以 ...
随机推荐
- Windows7中启动Mysql服务时提示:拒绝访问的一种解决方式
场景 在Windows7中打开任务管理器--服务下 找到mysql的服务点击启动时提示: 拒绝访问 这是因为权限不够导致的不能启动sql服务. 点击 任务管理器右下角的服务 在这里就可以正常启动服务
- Django 注意知识点(一)
本篇概述 Django Admin后台显示 多对多字段(如何) Django 模板 显示 多对多字段(如何) Django 将表单中上传的多对多字段存入数据库 (如何) Django 上传文件 ( ...
- 高性能go服务之高效内存分配
高性能go服务之高效内存分配 手动内存管理真的很坑爹(如C C++),好在我们有强大的自动化系统能够管理内存分配和生命周期,从而解放我们的双手. 但是呢,如果你想通过调整JVM垃圾回收器参数或者是优化 ...
- electron打包出现有文件下载不全的情况
1.根据提示下载相应的东西 https://blog.csdn.net/az44yao/article/details/85242442 具体可以看这个链接 2.有个小坑,如果到了按照链接1的过程,遇 ...
- Linux开发环境搭建三 使用mount -t cifs 挂载windows共享目录方法与问题解决
转载链接:https://blog.csdn.net/fuyuande/article/details/82915800 嵌入式开发通常是在linux环境下编译,windows下开发,这就需要在lin ...
- mybatis之关联关系
前言:在我们之前的hibernate中我们是学过了关联关系的,所以我们在本章给讲一讲mybatis的关联关系. mybatis的关联关系一对多的测试1.通过逆向工程生成Hbook,HbookCateg ...
- go语言设计模式之state
state.go package main import ( "fmt" "math/rand" "os" "time" ...
- OSPF和ACL的应用
1.创建拓扑图 2.配置基本网络 3.配置OSPF (1)在R1上配置 (2)在R2上配置 (3)在R3上配置 (4)在IT上配置 4.配置ACL (1)在R3上配置 (2)在R2上配置 (3) ...
- Web-[RoarCTF 2019]Easy Calc
看看题目内容,一个计算器,并且过滤了非数字的值,查看源码,上了waf,并且在calc.php显示waf的规则 <?php error_reporting(0); if(!isset($_GET[ ...
- NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver ...
显卡驱动找不到解决方案:亲测有效 step1:sudo apt-get install dkms step2: sudo dkms install -m nvidia -v 390.129 nvi ...