shell编程实例---实现整数的加减乘除余运算(利用read和脚本传参的方式)

1.read读取方式:

[[email protected] scripts]# vim read_1.sh 
  1 #!/bin/bash
  2 # Filename: read_1.sh
  3 # Describe: Integer arithmetic
  4 # Author: Lijun
  5 # Date: 2015-08-24
  6 # Version: 1.0.1
  7  
  8 read -p "Please input two nums: " a b                  
  9  
 10 if [ -z $a ] || [ -z $b ]
 11 then
 12     echo "Please input two nums again."
 13     exit 1
 14 fi
 15  
 16 expr $a + 1 > /dev/null 2>&1
 17 RETVAL1=$?
 18 expr $b + 1 > /dev/null 2>&1
 19 RETVAL2=$?
 20  
 21 if [ $RETVAL1 -ne 0 ] || [ $RETVAL2 -ne 0 ]
 22 then
 23     echo "Please input two nums(must be integer)."
 24     exit 2
 25 else
 26     echo "a+b=$(( $a + $b ))"
 27     echo "a-b=$(( $a - $b ))"
 28     echo "a*b=$(( $a * $b ))"
 29     echo "a/b=$(( $a / $b ))"
 30     echo "a%b=$(( $a % $b ))"
 31     exit 0
 32 fi
2.脚本传参的方式:
[[email protected] scripts]# vim read_2.sh  
  1 #!/bin/bash                                   
  2 # Filename: read_2.sh                         
  3 # Describe: Integer arithmetic                
  4 # Author: Lijun                               
  5 # Date: 2015-08-24                            
  6 # Version: 1.0.2                              
  7                                          
  8 a=$1                                       
  9 b=$2                                       
 10                                          
 11 if [ $# -ne 2 ]                               
 12 then                                       
 13     echo "Usage: sh `basename $0` {NUM1 NUM2}"             
 14     exit 1                                  
 15 fi          
 16                                               
 17 expr $a + 1 > /dev/null 2>&1                  
 18 RETVAL1=$?                                    
 19 expr $b + 1 > /dev/null 2>&1                  
 20 RETVAL2=$?                                    
 21                                               
 22 if [ $RETVAL1 -ne 0 ] || [ $RETVAL2 -ne 0 ]   
 23 then                                       
 24     echo "Please input two integers(must be integer)."
 25     exit 2                                  
 26 else                                       
 27     echo "a+b=$(( $a + $b ))"                 
 28     echo "a-b=$(( $a - $b ))"                 
 29     echo "a*b=$(( $a * $b ))"                 
 30     echo "a/b=$(( $a / $b ))"                 
 31     echo "a%b=$(( $a % $b ))"                 
 32     exit 0                                  
 33 fi
3. 整数判断的另一种方法:

[[email protected] scripts]# vim read_3.sh 
  1 #!/bin/bash                                      
  2 # Filename: read_1.sh                            
  3 # Describe: Integer arithmetic                   
  4 # Author: Lijun                                
  5 # Date: 2015-08-24                               
  6 # Version: 1.0.1                                
  7                                          
  8 read -p "Please input two nums: " a b            
  9                                          
 10 if [ -z $a ] || [ -z $b ]                        
 11 then                                       
 12     echo "Please input two nums again."          
 13     exit 1                                  
 14 fi                                        
 15                                          
 16 echo $a |egrep -o "[^0-9]{1,}" > /dev/null || echo $b |egrep -o "[^0-9]{1,}" > /dev/null && 17 echo "Please input two nums(must be integer)."|| {             
 18 echo "a+b=$(( $a + $b  ))"                       
 19 echo "a-b=$(( $a - $b  ))"                       
 20 echo "a*b=$(( $a * $b  ))"                       
 21 echo "a/b=$(( $a / $b  ))"                       
 22 echo "a%b=$(( $a % $b  ))"                       
 23 }
时间: 2024-10-28 10:56:24

shell编程实例---实现整数的加减乘除余运算(利用read和脚本传参的方式)的相关文章

Linux下shell编程实例

1. 判断一文件是不是块或字符设备文件,如果是将其拷贝到 /dev 目录下 read -p "input a file:" filename if [ -b $filename -o -c $filename ] then cp $filename /dev/ fi 2.编写一个脚本,进行简单的减法运算,要求提示输入变量 #!/bin/bash read -p "input a number:" num1 read -p "input another nu

shell脚本传参

写了个脚本自动生成pdf上传github受不了每次相同的commit决定使用脚本传参 简单好用使用加粗方法,更复杂的可以参考下面两个详解. 如何给shell脚本传参数 http://jingyan.baidu.com/article/b24f6c822645b786bfe5daff.html #!/usr/bin/zsh xelatex -synctex=1 -interaction=nonstopmode "leetcode-cpp".tex > makepdf.log cd

大整数的求余运算

在加密系统中,长长要求把一行字符看作是一串二进制位,然后对某个固定的数进行求余运算. 解答: #include <stdio.h> int main() { const int K=34943; unsigned int L=0; unsigned char c; unsigned long long test=0b0011001100110100001110010011010000110011; //34943的ascii码 printf("%llu\n",test);

shell 脚本传参

在 shell 中我们会见到  $0.$1.$2这样的符号,这是什么意思呢? 简单来说 $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的shell脚本传的第二个参数 比如你新建了一个shell脚本 Test.sh, 内容如下: #!/bin/sh echo "shell脚本本身的名字: $0" echo "传给shell的第一个参数: $1" echo "传给shell的第二个参数: $2&quo

python--脚本传参与shell脚本传参(位置参数)

写一个最简单的shell脚本,了解shell脚本是如何传参 1. vim test1.sh name=$1 age=$2 echo ${name} echo ${age} 2.调用脚本并传参 sh test1.sh zhangsan 14 11.  vim test1.py test1.py import sys try: if sys.argv[1]: print(sys.argv[1]) except Exception as e: print('当前无参数') 22.调用脚本并传参 原文地

shell编程实例

1. 在/home文件夹中创建一百个文件夹.文件夹名称依次为a1--a100. 2.  编写一个脚本.自己主动将用户主文件夹下全部小于5KB的文件打包成XX.tar.gz.(提示:用ls.grep,find等命令.文件一般指普通文件) 3.写一个程序,能够将/et/passwd的第一列取出,并且每一列都以一行字符串"the 1 account is "root""来显示 4. 编写一个程序,他的作用是先查看一下/root/test/logical这个名称是否存在.若

shell编程实例2

1.vim  read_PERSON.sh 2. #!/bin/bash echo "What is your name?" read PERSON echo "Hello,$PERSON" 3.source  read_PERSON.sh

shell编程-实例之输出系统信息

输出系统信息 #!/bin/bash if [ $# -eq 0 ];then echo "---------------------------------------------------------------------------" # OS Type echo " OS Type: $(uname -o)" # OS Release Version and Name echo "OS Release Version and Name: $(c

shell编程实例1

1.vim hello.sh 2. #!bin/bash echo "hello world!" 3.chmod +x  hello.sh 4.source hello.sh ls -l 可以看文件的权限 用chmod 修改文件的权限 chmod u+x hello.sh chmod u-r hello.sh chmod u=rwx,g=rx,o=x file 其语法格式为:chmod [who] [opt] [mode] 文件/目录名 其中who表示对象,是以下字母中的一个或组合: