shell脚本备忘
来源:互联网 发布:mysql排序函数 编辑:程序博客网 时间:2024/06/05 04:48
linux下常用的脚本包括 bash 和shell
1
#!/bin/bashecho "hello bash" #display one message
将以上内容保存为一个文本文件,名为me。扩展名任意,但常用 .sh作为扩展名。
执行命令 chmod a+x me 命令,为me 添加执行权限。然后在Ternimal 中运行该脚本
./mehello bash
2 获取输入参数
$n n为1-9自然数,代表输入中的第n个参数
#!/bin/bashecho $1echo $2echo $3执行该脚本,输出为:./me i love youiloveyou
3 定义变量
赋值语句中不能有空格,引用变量时只需变量前加上$符号即可。
为避免混淆,常常使用双引号包含要引用的变量
#!/bin/bashA=bAll = allecho "$A"llecho All执行该脚本,输出为:./mebllall
4 条件判断
if [ "$1" = "normal" ]then echo "this is normal case"elif [ -z "$1" ]then echo "no input, ignal..."fi
5 while [] ...do...donw 语句
#!/bin/bashecho "please use add or delete or exit"ACTION="default"while [ -n $ACTION ]do read ACTION case $ACTION in add) echo "add somebody" ;; delete) echo "delete somebody" ;; exit) echo "complete" break ;; *) echo "invalide action, please re-enter" ;; esacdone
6 for 循环
for 一般和in联合作用,用于从某个集合中逐个取出元素并对期进行操作,如下代码所示
#!/bin/bashfor X in 1 2 3 4 5 hellodoecho $Xdone
再举一个
`符号是!符号左边的键。
for X in `ls`doecho `basename $X`echo `dirname $X`done uname
for语句和if语句为例
功能:给当前目录下没有扩展名的文件加上 .txt扩展名
#!/bin/bash#rename files without ext name to txt file.for X in `ls`do Base="`basename $X`" if [ -z `echo $Base | grep "\."` ] then `mv $Base $Base.txt` echo $Base fidone
7函数
#!/bin/bashstrcat(){ OUT="$1"" ""$2" return 0}strcat2(){ echo "$1"" ""$2" return 3}A="bird"B="mouse"OUT=""strcat $A $Becho $OUTOUT2=`strcat2 $A $B`echo $? #//上一个命令的返回结果echo $OUT2#执行该脚本,输出为:./mebird mouse3bird mouse
定义函数时,不需要定义参数,直接使用$1,$2代表第n个参数
可以使用return返回整数数值,不能返回字符串,不写return 默认是0
- shell脚本备忘
- shell脚本实例备忘
- Bash shell脚本备忘
- shell脚本备忘
- shell脚本备忘
- Shell 脚本(备忘)
- shell脚本备忘
- shell脚本基础(备忘)
- 备忘几个有用的shell脚本
- Shell 脚本条件判断的三中类型(备忘)
- shell脚本中位置参数 $0 $1 .. $* $#的备忘
- 工作备忘-制作Framework所用shell脚本代码
- shell备忘
- Android执行shell脚本命令(备忘记录与实际应用)
- ubuntu下shell脚本同时运行node server.js 和ionic serve 命令_备忘
- shell中expr备忘
- Linux shell 常用命令备忘
- shell break语句备忘
- playframework 数据库管理工具 笔记(3)
- windows平台下好用的粒子编辑器(for cocos2d-x)
- android百度地图开发实现动画效果
- C++编程思想笔记——命名控制
- RPC远程过程调用
- shell脚本备忘
- gdb调试时的问题Missing separate debuginfos, use: debuginfo-install glibc-XXX
- 类型转换-基类和派生类之间的转换
- Android利用convertView优化ListView性能
- Hibernate实体类映射文件demo.hbm.xml 中的<generator class="?"></generator>的不同属性含义
- Android中View(视图)绘制不同状态背景图片原理深入分析以及StateListDrawable使用详解
- 参数值转成数组
- 黑马程序员_技术日志1(Java基础1)
- asp:TextBox multiline 只读条件下的高度问题