shell脚本编写简单计算器(编写一个SHELL脚本程序计算1到100的和)

2025-07-16 17:45:01 :3

shell脚本编写简单计算器(编写一个SHELL脚本程序计算1到100的和)

其实shell脚本编写简单计算器的问题并不复杂,但是又很多的朋友都不太了解编写一个SHELL脚本程序计算1到100的和,因此呢,今天小编就来为大家分享shell脚本编写简单计算器的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

本文目录

编写一个SHELL脚本程序计算1到100的和

#!/bin/bash
j=0
for ((i=1;i《=100;i++));do
j=$(($i+$j))
done
echo $j

在Linux下,用shell编写一个简单的计算器,要实现加减乘除4个功能就行了

不用写吧,本来有个 bc 命令可用,没有下载就成.
非要写一个,zsh 的function里有一个,名 zcalc,
贴上来给你
#!/usr/bin/zsh -i
#
# Zsh calculator. Understands most ordinary arithmetic expressions.
# Line editing and history are available. A blank line or `q’ quits.
#
# Runs as a script or a function. If used as a function, the history
# is remembered for reuse in a later call (and also currently in the
# shell’s own history). There are various problems using this as a
# script, so a function is recommended.
#
# The prompt shows a number for the current line. The corresponding
# result can be referred to with $《line-no》, e.g.
# 1》 32 + 10
# 42
# 2》 $1 ** 2
# 1764
# The set of remembered numbers is primed with anything given on the
# command line. For example,
# zcalc ’2 * 16’
# 1》 32 # printed by function
# 2》 $1 + 2 # typed by user
# 34
# 3》
# Here, 32 is stored as $1. This works in the obvious way for any
# number of arguments.
#
# If the mathfunc library is available, probably understands most system
# mathematical functions. The left parenthesis must be adjacent to the
# end of the function name, to distinguish from shell parameters
# (translation: to prevent the maintainers from having to write proper
# lookahead parsing). For example,
# 1》 sqrt(2)
# 1.4142135623730951
# is right, but `sqrt (2)’ will give you an error.
#
# You can do things with parameters like
# 1》 pi = 4.0 * atan(1)
# too. These go into global parameters, so be careful. You can declare
# local variables, however:
# 1》 local pi
# but note this can’t appear on the same line as a calculation. Don’t
# use the variables listed in the `local’ and `integer’ lines below
# (translation: I can’t be bothered to provide a sandbox).
#
# Some constants are already available: (case sensitive as always):
# PI pi, i.e. 3.1415926545897931
# E e, i.e. 2.7182818284590455
#
# You can also change the output base.
# 1》
# 1》
# Changes the default output to hexadecimal with numbers preceded by `16#’.
# Note the line isn’t remembered.
# 2》
# 2》
# Change the default output base to hexadecimal with no prefix.
# 3》
# Reset the default output base.
#
# This is based on the builtin feature that you can change the output base
# of a given expression. For example,
# 1》 32 + 20 / 2
# 2A
# 2》
# prints the result of the calculation in hexadecimal.
#
# You can’t change the default input base, but the shell allows any small
# integer as a base:
# 1》 2#1111
# 15
# 2》 13#6 * 13#9
# 42
# and the standard C-like notation with a leading 0x for hexadecimal is
# also understood. However, leading 0 for octal is not understood --- it’s
# too confusing in a calculator. Use 8#777 etc.
#
# Options: -#《base》 is the same as a line containing just `,
# similarly -##《base》; they set the default output base, with and without
# a base discriminator in front, respectively.
#
#
# To do:
# - separate zcalc history from shell history using arrays --- or allow
# zsh to switch internally to and from array-based history.
emulate -L zsh
setopt extendedglob
local line ans base defbase forms match mbegin mend psvar optlist opt arg
local compcontext="-math-"
integer num outdigits outform=1
# We use our own history file with an automatic pop on exit.
history -ap "${ZDOTDIR:-$HOME}/.zcalc_history"
forms=( ’%2$g’ ’%.*g’ ’%.*f’ ’%.*E’ )
zmodload -i zsh/mathfunc 2》/dev/null
: ${ZCALCPROMPT="%1v》 "}
# Supply some constants.
float PI E
(( PI = 4 * atan(1), E = exp(1) ))
# Process command line
while ; do
optlist=${1}
shift
&& break
while ; do
opt=${optlist}
optlist=${optlist}
case $opt in
(’#’) # Default base
if ; then
arg=$optlist
optlist=
elif ; then
arg=$1
shift
else
print "-# requires an argument" 》&2
return 1
fi
if ; then
print - "-# requires a decimal number as an argument" 》&2
return 1
fi
defbase=""
;;
esac
done
done
for (( num = 1; num 《= $#; num++ )); do
# Make sure all arguments have been evaluated.
# The `$’ before the second argv forces string rather than numeric
# substitution.
(( argv ))
print "$num》 $argv"
done
psvar=$num
while vared -cehp "${(%)ZCALCPROMPT}" line; do
&& break
# special cases
# Set default base if `’ etc. on its own.
# Unset it if `’.
if ; then
if ; then
if ; then
defbase=
else
defbase=$match
fi
print -s -- $line
line=
continue
else
base=$match
fi
else
base=$defbase
fi
print -s -- $line
case ${${line###} in
q) # Exit if `q’ on its own.
return 0
;;
norm) # restore output format to default
outform=1
;;
sci#(#b)(《-》)(#B))
outdigits=$match
outform=2
;;
fix#(#b)(《-》)(#B))
outdigits=$match
outform=3
;;
eng#(#b)(《-》)(#B))
outdigits=$match
outform=4
;;
local(##*|))
eval $line
line=
continue
;;
*)
# Latest value is stored as a string, because it might be floating
# point or integer --- we don’t know till after the evaluation, and
# arrays always store scalars anyway.
#
# Since it’s a string, we’d better make sure we know which
# base it’s in, so don’t change that until we actually print it.
eval "ans=\$(( $line ))"
# on error $ans is not set; let user re-edit line
|| continue
argv=$ans
psvar=$num
;;
esac
if ; then
print -- $(( $base $ans ))
elif || (( outdigits )); then
printf "$forms\n" $outdigits $ans
else
printf "%d\n" $ans
fi
line=
done
return 0
支援小数点,+ - * / , ok

编写Linux 的 shell语言 要求设计一个计算器,输入2个数可以计算 +

printf "Please input the first number:"
read number1
printf "Please input the second number:"
read number2
echo "result = $"
这样写比较好看点,输入第一个数 之后 回车 会提示你输入第二个数,再回车就输出结果了!

如何用shell编写一个简单的计算器

如果只做四个简单的运算这应应该可以
shell脚本代码如下:
#!/bin/bash
read -p "input num1:" a
read -p "input num2:" b
read -p "input operator:" o
case $o in
+) let "res=a + b"
echo $res;;
-) let "res=a - b"
echo $res;;
/) awk ’BEGIN{printf "%.2f\n",’$a’/’$b’}’;;
*) let "res=a * b"
echo $res;;
esac

怎么用shell编写计算1+2+3…+n

  • shell脚本部分:

    执行:

    ojbk

  • #!/bin/bash
    read -p "请输入数字n;" n
    j=0
    for ((i=1;i《=$n;i++));do
    j=$(($i+$j))
    done
    echo $j

关于shell脚本编写简单计算器和编写一个SHELL脚本程序计算1到100的和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

shell脚本编写简单计算器(编写一个SHELL脚本程序计算1到100的和)

本文编辑:admin

更多文章:


清华大学苏世民学院入学条件?苏世民书院是什么专业

清华大学苏世民学院入学条件?苏世民书院是什么专业

“苏世民书院”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看清华大学苏世民学院入学条件?苏世民书院是什么专业!本文目录清华大学苏世民学院入学条件苏世民书院是什么专业如何才能去苏世民书院读书呢清华苏世民书院到底有多牛清华大学苏

2026年3月28日 19:00

埃隆马斯克最新推特(马斯克440亿美元收购推特成功了吗)

埃隆马斯克最新推特(马斯克440亿美元收购推特成功了吗)

本篇文章给大家谈谈埃隆马斯克最新推特,以及马斯克440亿美元收购推特成功了吗对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录马斯克440亿美元收购推特成功了吗特斯拉最佳新技术首次进入欧洲埃隆·马斯克想做电动车时代的亨利·福特松

2026年3月5日 05:45

fontcreator怎么导入字体(如何在FontCreator中加入我想要的字)

fontcreator怎么导入字体(如何在FontCreator中加入我想要的字)

“fontcreator怎么导入字体”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看fontcreator怎么导入字体(如何在FontCreator中加入我想要的字)!本文目录如何在FontCreator中加入我想要的字怎么

2025年7月10日 20:00

共赢源码网站(什么是开放平台)

共赢源码网站(什么是开放平台)

大家好,共赢源码网站相信很多的网友都不是很明白,包括什么是开放平台也是一样,不过没有关系,接下来就来为大家分享关于共赢源码网站和什么是开放平台的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!本文目录什么是开放平台有没有下

2025年9月28日 07:45

arrow箭牌官网(箭牌洁具官网)

arrow箭牌官网(箭牌洁具官网)

本篇文章给大家谈谈arrow箭牌官网,以及箭牌洁具官网对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。本文目录箭牌洁具官网箭牌马桶有带止逆阀的没有长

2026年3月24日 16:45

wordpress主题二次元(怎么用wordpress搭建情侣博客怎么自己弄情侣主题求达人详细赐教!)

wordpress主题二次元(怎么用wordpress搭建情侣博客怎么自己弄情侣主题求达人详细赐教!)

大家好,今天小编来为大家解答以下的问题,关于wordpress主题二次元,怎么用wordpress搭建情侣博客怎么自己弄情侣主题求达人详细赐教!这个很多人还不知道,现在让我们一起来看看吧!本文目录怎么用wordpress搭建情侣博客怎么自己

2025年7月4日 02:00

腾讯会议怎么向主持人询问后台记录并保存?手机储存内容会被APP浏览并上传保存APP后台服务器吗连着WIFI

腾讯会议怎么向主持人询问后台记录并保存?手机储存内容会被APP浏览并上传保存APP后台服务器吗连着WIFI

大家好,如果您还对并保存后台不太了解,没有关系,今天就由本站为大家分享并保存后台的知识,包括腾讯会议怎么向主持人询问后台记录并保存的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录腾讯会议怎么向主持人询问后台记录并保

2025年7月21日 04:00

正则高考复读学校(2022南京高三复读有哪些学校 南京复读学校名单)

正则高考复读学校(2022南京高三复读有哪些学校 南京复读学校名单)

其实正则高考复读学校的问题并不复杂,但是又很多的朋友都不太了解2022南京高三复读有哪些学校 南京复读学校名单,因此呢,今天小编就来为大家分享正则高考复读学校的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录202

2025年8月7日 13:30

淘客全新模板(新手做店铺淘客怎么做)

淘客全新模板(新手做店铺淘客怎么做)

这篇文章给大家聊聊关于淘客全新模板,以及新手做店铺淘客怎么做对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录新手做店铺淘客怎么做新手如何做淘宝店铺,店淘淘客如何实现快速出单新手做店铺淘客怎么做店铺淘客就是将店铺与淘宝联盟相结合

2026年4月12日 12:15

verify例句(please-slide-to-verify是什么意思)

verify例句(please-slide-to-verify是什么意思)

今天给各位分享please-slide-to-verify是什么意思的知识,其中也会对please-slide-to-verify是什么意思进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录please-slid

2025年12月5日 06:45

a5论坛下载(谁有A5论坛的邀请码呀)

a5论坛下载(谁有A5论坛的邀请码呀)

各位老铁们好,相信很多人对a5论坛下载都不是特别的了解,因此呢,今天就来为大家分享下关于a5论坛下载以及谁有A5论坛的邀请码呀的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录谁有A5论坛的邀请码呀gt-a5怎么下

2025年11月5日 13:30

false的副词(英语试卷判断对错,T和F,哪个是对,那个是错)

false的副词(英语试卷判断对错,T和F,哪个是对,那个是错)

各位老铁们,大家好,今天由我来为大家分享false的副词,以及英语试卷判断对错,T和F,哪个是对,那个是错的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本

2026年7月29日 00:00

传统的数据库系统(数据库管理系统所支持的传统数据模型有)

传统的数据库系统(数据库管理系统所支持的传统数据模型有)

各位老铁们,大家好,今天由我来为大家分享传统的数据库系统,以及数据库管理系统所支持的传统数据模型有的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录数

2026年9月15日 19:00

sql数据库设计(sql数据库设计怎么实施)

sql数据库设计(sql数据库设计怎么实施)

各位老铁们,大家好,今天由我来为大家分享sql数据库设计,以及sql数据库设计怎么实施的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录sql数据库设

2026年7月2日 19:45

go语言需要编译吗(Go语言能在安卓运行吗 Go是脚本语言还是汇编)

go语言需要编译吗(Go语言能在安卓运行吗 Go是脚本语言还是汇编)

各位老铁们好,相信很多人对go语言需要编译吗都不是特别的了解,因此呢,今天就来为大家分享下关于go语言需要编译吗以及Go语言能在安卓运行吗 Go是脚本语言还是汇编的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文目录G

2026年3月18日 20:00

有哪些js框架(web前端三大主流框架是什么 都有哪些功能)

有哪些js框架(web前端三大主流框架是什么 都有哪些功能)

本篇文章给大家谈谈有哪些js框架,以及web前端三大主流框架是什么 都有哪些功能对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。本文目录web前端三大主流框架是什么 都有哪些功能JavaScript有哪些分类webim开源框架js有哪

2025年9月22日 16:30

springfestival六年级作文(六年级过春节英语作文300字)

springfestival六年级作文(六年级过春节英语作文300字)

大家好,springfestival六年级作文相信很多的网友都不是很明白,包括六年级过春节英语作文300字也是一样,不过没有关系,接下来就来为大家分享关于springfestival六年级作文和六年级过春节英语作文300字的一些知识点,大家

2026年2月27日 20:45

在java语言中下列说法正确的是(Java语言说法正确的有())

在java语言中下列说法正确的是(Java语言说法正确的有())

各位老铁们,大家好,今天由我来为大家分享在java语言中下列说法正确的是,以及Java语言说法正确的有()的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本

2026年9月9日 20:30

edittext下划线颜色(android 如何使EditText中不同行显示不同的颜色(两种颜色))

edittext下划线颜色(android 如何使EditText中不同行显示不同的颜色(两种颜色))

其实edittext下划线颜色的问题并不复杂,但是又很多的朋友都不太了解android 如何使EditText中不同行显示不同的颜色(两种颜色),因此呢,今天小编就来为大家分享edittext下划线颜色的一些知识,希望可以帮助到大家,下面我

2026年5月15日 11:30

帝国cms手机端(请教帝国cms中的手机端同步插件bug 修复方法)

帝国cms手机端(请教帝国cms中的手机端同步插件bug 修复方法)

各位老铁们,大家好,今天由我来为大家分享帝国cms手机端,以及请教帝国cms中的手机端同步插件bug 修复方法的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧

2026年1月18日 22:15

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索