【unix学习】shell编程—参数、流程控制、算数运算、函数
来源:互联网 发布:一淘和淘宝联盟 两个号 编辑:程序博客网 时间:2024/06/05 16:15
- shell参数
- 符号说明
- 与 区别
- 变量赋值
- 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 $idone#结果#1 2 3for i in "$@"do echo $idone#结果#123
变量赋值
[s14516@gdufs]$name="koo" #赋值之间别有空格[s14516@gdufs]$echo namename[s14516@gdufs]$echo $namekoo
shell脚本
#! 告诉系统其后路径所指定的程序即是解释此脚本文件的 Shell 程序。
if语句
#!/bin/bashread inputif [ $input = "gdufs" ]then echo "right"else echo "wrong"fi
case语句
#!/bin/bashhour=`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 wangwudo echo $namedone
expr 算数表达
1.四则运算
+ - \* / %这小表达式两边需要有空格[s14516@gdufs]$expr 4 \* 3
2.赋值表达式
[s14516@gdufs]$a=`expr 4 \* 3`[s14516@gdufs]$echo $a12
expr只支持整型运算
3.浮点型运算
[s14516@gdufs]$echo 4 \* 3.2 | bc
4.while循环
#!/bin/bashread -p 'please input' ni=1while [ $i -le $n ]do echo $i i=`expr $i + 1`done
5.求和
#!/bin/bashread -p 'please input: ' ni=1sum=0while [ $i -le $n ]do sum=`expr $sum + $i` i=`expr $i + 1`doneecho $sum
shell函数
1.无参数函数
#!bin/bashgreet(){ echo 'hello'}greet
2.有参数函数
#!/bin/bashgreet(){ echo "hello, $1" ## $1 表示第一个参数,不需要在方法上写参数}read -p 'please input: ' name1 name2greet $name1greet $name2
阅读全文
0 0
- 【unix学习】shell编程—参数、流程控制、算数运算、函数
- 算数运算符与流程控制
- Shell学习笔记——算数运算与条件测试
- shell编程02-流程控制和函数
- shell 流程控制参数
- shell中算数运算及件判断,控制结构
- shell算数运算
- shell算数运算
- shell算数运算
- shell中的算数运算
- shell算数运算
- shell算数运算
- shell算数运算
- shell算数表达式运算
- shell变量算数运算
- shell算数运算
- 3 shell算数运算
- shell算数运算
- jenkins 的html report 无法显示的解决办法
- 替换进程execl系列
- nginx报错Scan this dir for additional .ini files(none) Additional .ini files parsed(none)
- shunt resistor 分流电阻
- IKAnalyzer 自定义分词器
- 【unix学习】shell编程—参数、流程控制、算数运算、函数
- 蓝桥杯 基础练习 字母图形
- 莫名其妙的渐行渐远
- tensorflow学习过程代码
- 打造前端 Deepin Linux 工作环境——配置静态服务器
- 让机器读懂用户——大数据中的用户画像
- 文章标题
- hive执行job的时候报错:hadoop.hive.ql.exec.tez.TezTask
- 使用vue-cli构建的项目不检查分号