【unix学习】shell编程—参数、流程控制、算数运算、函数
2017-11-04 19:03
363 查看
shell参数
符号说明
与 区别
变量赋值
shell脚本
if语句
case语句
循环
expr 算数表达
shell函数
2.赋值表达式
expr只支持整型运算
3.浮点型运算
4.while循环
5.求和
2.有参数函数
符号说明
与 区别
变量赋值
shell脚本
if语句
case语句
循环
expr 算数表达
shell函数
shell参数
符号说明
echo $0 $1-$9 代表参数的位置,1代表第一个参数,,,, $* 把全部参数当作一个字符串形式的参数,"$1 $2 … $n"的形式 $@ 把参数当作列表形式,与$*相同,"$1" "$2" … "$n" 的形式,注意引号的差别。 $# 参数的个数 $$ 运行的当前进程ID号 $? 显示上一个进程是否执行成功,成功执行返回0,执行不成功返回1 $! 后台运行的最后一个进程的ID号 $* 与 $@ 区别: 相同点:都是引用所有参数。 不同点:只有在双引号中体现出来。 假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
$* 与$@ 区别
for i in "$*" do echo $i done #结果# 1 2 3 for i in "$@" do echo $i done #结果# 1 2 3
变量赋值
[s14516@gdufs]$name="koo" #赋值之间别有空格 [s14516@gdufs]$echo name name [s14516@gdufs]$echo $name koo
shell脚本
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。if语句
#!/bin/bash read input if [ $input = "gdufs" ] then echo "right" else echo "wrong" fi
case语句
#!/bin/bash hour=`date "+%H"` case $hour in [0-8]|19|2[0-3]) echo "good night" ;; 9|1[0-2]) echo "good morning" ;; 1[3-8]) echo "good afternoon" ;; *) #表示其他情况 esac
循环
for name in zhangsan lisi wangwu do echo $name done
expr 算数表达
1.四则运算+ - \* / % 这小表达式两边需要有空格 [s14516@gdufs]$expr 4 \* 3
2.赋值表达式
[s14516@gdufs]$a=`expr 4 \* 3` [s14516@gdufs]$echo $a 12
expr只支持整型运算
3.浮点型运算
[s14516@gdufs]$echo 4 \* 3.2 | bc
4.while循环
#!/bin/bash read -p 'please input' n i=1 while [ $i -le $n ] do echo $i i=`expr $i + 1` done
5.求和
#!/bin/bash read -p 'please input: ' n i=1 sum=0 while [ $i -le $n ] do sum=`expr $sum + $i` i=`expr $i + 1` done echo $sum
shell函数
1.无参数函数#!bin/bash greet(){ echo 'hello' } greet
2.有参数函数
#!/bin/bash greet(){ echo "hello, $1" ## $1 表示第一个参数,不需要在方法上写参数 } read -p 'please input: ' name1 name2 greet $name1 greet $name2
相关文章推荐
- 黑马程序员——零基础学习iOS开发——04 c语言:基本运算、流程控制、函数
- Scala基础学习之函数定义,流程控制,异常处理
- shell编程学习笔记6--条件判断(循环)与流程控制
- shell编程(条件判断与流程控制)学习笔记
- 黑马程序员--IOS入学学习--2-基本运算及流程控制(C语言)
- Shell编程学习(3)----脚本参数和控制语句的总结
- 【R】R变量规则、运算、流程控制、函数、字符串
- Scala学习笔记05【Scala函数定义、流程控制、异常入门】
- javascript入门经典学习四(对象,流程控制,函数)
- Python学习(二):入门篇:python中流程控制与函数编写
- UNIX环境编程学习笔记------编程实例-----对于 函数 inet_ntop()函数的第四个参数的理解
- Go学习笔记 (二) : 流程控制(if,for,switch) 与 函数 与 struct (匿名字段)
- python学习笔记(二)流程控制 函数
- Bash学习笔记(4)----流程控制与函数
- OpenGL - 算数操作符、循环语句、流程控制及函数声明
- Shell学习笔记(13)-流程控制之函数
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- 黑马程序员_第二天视频学习 基本运算和流程控制
- mysql学习笔记(四)--- 聚合函数、控制流程函数
- 学习笔记 Java_毕向东_流程控制语句_函数_数组 2014.7.30