求2个数之和

 #!/bin/bash

function add {
if(( $# < )); then
echo "The arg in't correct"
else
sum=$(($+$))
echo $sum
fi
} add
add

运行结果:

exbot@ubuntu:~/shareWin/linux/shell$ ./sum.sh 1 2
The arg in't correct
3

$#:相当于C语言的mian函数的(argc-1)传入的参数列表的值,表示输入值的数量减1,这个减去的1就是argv[0]。

其中:

$0:      表示C语言中argv[0],就是减去的那个1的数量代表的意义

$1,$2 …: 这些成为位置参数,相当于C语言中的argv[1],argv[2]

$@:        表示参数列表”$1”,”$2”... ,大多用在for循环后的in里面

$*:       等同$@

$?:          上一条命令的Exit Status

$$:         当前进程号

注意事项:

function functionfile {  // functionfile { 之间是有空格隔开的,如果不隔开,会报错

  /*code*/

}

shell编程题(一)的更多相关文章

  1. shell编程题(四)

    编译当前目录下的所有.c文件 #!/bin/bash ] ;] 输入参数个数 echo "Please follow up file.c!" echo "eg: ./ma ...

  2. shell编程题(七)

    输出本机创建20000个目录所用的时间 #! /bin/bash time ( ..} ; do mkdir /tmp/nnn$i done ) 运行记得删除 rm -rf /tmp/nnn*

  3. shell编程题(五)

    打印root可以使用可执行文件数. echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)&q ...

  4. shell编程题(三)

    将一目录下所有的文件的扩展名改为bak #! /bin/bash for i in `ls` do mv $i ${i%%.*}.bak done ${i%%.*} 截掉一个变量字符串第一个" ...

  5. shell编程题(二)

    计算1-100之和 #!/bin/bash `;do #符号不是单引号 是 1左边的符号 sum=$[$i + $sum ] done echo $sum #!/bin/bash i= n=1 #定义 ...

  6. Shell编程进阶篇(完结)

    1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最大的不同,是它拥有一个循环计数器,或 ...

  7. shell编程企业级实战(2)

    Vim配置文件.vimrc vim配置文件 if 条件语句 if是最常见的条件判断语句 例1:如果不存在/backup目录就创建. [root@web-01 /server/tools]# vim 0 ...

  8. shell编程企业级实战

    如何才能学好Shell编程 为什么要学习shell编程 Shell是Linux底层核心 Linux运维工作常用工具 自动化运维必备基础课程 学好shell编程所需Linux基础 熟练使用vim编辑器 ...

  9. 【转】Shell编程进阶篇(完结)

    [转]Shell编程进阶篇(完结) 1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最 ...

随机推荐

  1. 14-3 SQL Server基本操作

    SQL Server安装默认新建四个系统数据库 1.master数据库 Master数据库时SQL Server中最重要的数据库.它记录SQL Server实例的所有系统级信息,包括实例范围的元数据. ...

  2. ASP.Net Core 2.1+ Cookie 登录授权验证【简单Cookie验证】

    介绍 本文章发布于博客园:https://www.cnblogs.com/fallstar/p/11310749.html 作者:fallstar 本文章适用于:ASP.NET Core 2.1 + ...

  3. Flutter Animation AnimatedBuilder

    Flutter AnimatedBuilder 创建动画的widget Key key, @required Listenable animation, @required this.builder, ...

  4. js 移动端之监听软键盘弹出收起

    js 移动端关于页面布局,如果底部有position:fixed的盒子,又有input,当软键盘弹出收起都会影响页面布局.这时候Android可以监听resize事件,代码如下,而ios没有相关事件. ...

  5. <P>标签是什么?怎么用!

    <P>标签它是一个段落标签,它和<br>标签不一样.会自行起一行段落,并且可以作为一个盒子来使用.可以单独定义它. 比如下图: <p>这个就是一个段落</p& ...

  6. python 解析命令行选项

    问题: 程序如何能够解析命令行选项 解决方案 argparse 模块可被用来解析命令行选项 argparse 模块 argparse 模块是标准库中最大的模块之一,拥有大量的配置选项 dest 参数指 ...

  7. 【DRF框架】REST风格

    REST风格 表述性状态转移——web交互方案 目的 解决前后端交互的问题,开发效率高,简介,性能好 定义 资源:网上的所有信息或者很抽象的概念,在web中只要又被引用的必要都是资源 URI:统一资源 ...

  8. yolov3---报"段错误"的可能原因及解决方法

    参考: ************************************************************************************************ ...

  9. rest-framework认证、权限组件

    认证组件: models class User(models.Model): username = models.CharField(max_length=32) password = models. ...

  10. LGOJP2831 愤怒的小鸟

    题目链接 题目链接 题解 数据范围显然状压/爆搜. 考虑\(f[S]\)表示二进制下已打了的猪的集合. 可以枚举\(S\)的子集\(S_1\),判定\(S\)中\(S_1\)的补集\(S_2\)是否合 ...