linux中的shell脚本编程

【1】shell脚本
1--- shell命令
2--- 控制语句(新的语法)
(Shell命令的有序集合)
【2】创建shell脚本文件
1--- 1.sh
2--- chmod 777 1.sh
3--- 执行
rw- rw- r--
110 110 100
6 6 4
rwx rwx rwx
111 111 111
7 7 7
【3】变量
1--- 用户自定义变量
1、 没有数据类型
2、 赋值时=两边没有空格
3、 $提取变量里的内容
2--- 位置变量
$0 ... $9 //依次代表命令行参数
${10} //两位数的开始需要使用{}
3--- 预定义变量
$* $@ //命令行所有的位置参数,除了第一个$0
$# //命令行所有的参数个数,除了第一个$0
$$ //PID
$? //只与上一条shell命令有关
//上一条shell命令执行状态:成功$? = 0;
4--- 环境变量
$HOME /home/linux
【4】read
read 从标准输入读入一行, 并依次赋值给后面的变量,多的数据甩给最后一个变量
【5】expr
ret=`expr $A + $B \* 2`
echo "ret = $ret"
支持:+ - \* / % \( \)
注意:expr后留有空格。运算符两边留空格。
【6】test
必须使用$?承接测试结果:为真$?=0; 为假$?=1。
1--- 字符串
= != -z -n
(相等) (不等) (为空) (不为空)
2--- 整数
a -eq b 测试a 与b 是否相等
a -ne b 测试a 与b 是否不相等
a -gt b 测试a 是否大于b
a -ge b 测试a 是否大于等于b
a -lt b 测试a 是否小于b
a -le b 测试a 是否小于等于b
3--- 文件
1、测文件类型(间接测试文件是否存在)
b c d - l s p Linux文件类型
-b -c -d -f -L -S -p shell脚本测试标识
2、测文件权限
-r (读权限)
-w (写权限)
-x (可执行权限)
3、其它
-e name 测试一个文件是否存在
-s name 测试name 文件是否存在且其长度 不为0
f1 -nt f2 测试文件f1 是否比文件f2 更新
f1 -ot f2 测试文件f1 是否比文件f2 更旧
4--- []
与测试语句test完全等价。
注意:中括号与数据需要留有空格。
5---
-a //逻辑关系与
-o //逻辑关系或
【7】if
if 表达式
then
命令表
fi
************************************************
if 表达式
then
命令表
else
命令表
fi
************************************************
if 表达式
then
命令表1
elif 表达式
then
命令表2
else
命令表3
fi
【8】
case 变量 in
模式1)
命令表1
;;
模式2 | 模式3)
命令表2
;;
……
模式n)
命令表n
;;
esac
【9】for
for 变量名 in 单词表
do
命令表
done
【10】
while 命令或表达式
do
命令表
done
【11】
break:结束整个循环
continue:跳出本次循环,继续执行下一次循环
sleep 2 :睡眠2秒
【13】
function_name ( )
{
command1
……
commandn
}
1--- 函数调用1
fun 123 hello //fun:函数名
//123、hello:参数
$1 ...$n //在函数内部,用于承接函数传参
$@、$# //在函数内部,所有参数、参数个数
2--- 函数调用2
A=`fun 444 beijing` //fun:函数名
//444、beijing:参数
echo "$A" //A:存放函数内所有的标准输出
3--- 返回值
两种调用方式都用$?承接函数的返回值。
4--- 函数中的变量
函数调用1,变量默认为全局的,用local修饰变成局部变量。
函数调用2,变量默认为局部的。
linux中的shell脚本编程的更多相关文章
- 好记性比如烂笔头--linux学习笔记7关于linux中的shell脚本编程
之前看的各种面试,貌似都有shell脚本编程,没了解之前感觉很复杂,现在了解了些,没想象中那么难. 逻辑主要是这样的 编写.sh的脚本文件,文件里面的代码,就是在命令行输入的可执行命令的加强版,所谓加 ...
- linux中的shell脚本编程---初识shell
Shell是用户与Linux或Unix内核通信的工具,shell编程指的并不是编写这个工具,而是指利用现有的shell工具进行编程,写出来的程序是轻量级的脚本,我们叫做shell脚本. Shell的语 ...
- Linux 中执行Shell 脚本的方式(三种方法)
Shell 脚本的执行方式通常有如下三种: (1)bash script-name 或者 sh script-name:(2)path/script-name或者./script-name:(3)so ...
- Linux中编写Shell脚本
目录 Shell Shell脚本的执行 Shell脚本编写规范 Shell 中的变量 变量的算术运算 双小括号 (()) 数值运算命令的用法 let 运算命令的用法 expr 命令的用法 br 命令 ...
- Linux基础篇–shell脚本编程基础
本章内容概要 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 7.1 编程基础程序:指令+数据程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心 ...
- Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本的4种方法
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- 每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- Linux中执行shell脚本命令的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
随机推荐
- SqlServer 的提示符(Option/With等提示符)不是什么时候都可以用的
我们在做SqlServer的查询调优的时候,经常会在语句末尾用到option(loop/merge/hash join)或在join语句前直接声明loop/merge/hash,来强制SqlServe ...
- IE7/8浏览器都不能显示PNG格式图片
方法一:重新注册pngfilt.dll文件.这个方法是PNG格式开发商官方网站上的推荐方法之一,抱着试试的想法按网站推荐的方法试了,一试成功.方法如下:使用 开始->运行,在运行输入框中输入 “ ...
- IOC依赖注入简单实例
转自:http://hi.baidu.com/xyz136299110/item/a32be4269e9d0c55c38d59e6 相信大家看过相当多的IOC依赖注入的例子. 但大家在没有明白原理的情 ...
- 查看linux僵尸进程
top ps -A -o stat,ppid,pid,cmd | grep -e '^[zZ]' kill -HUP 进程号
- Java相关内容解析
java中的反射机制是什么,有什么作用啊?要点:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的以及动态调 ...
- zabbix agent 类型自带的key
zabbix服务器端通过与zabbix agent通信来获取客户端服务器的数据,agent分为两个版本,在配置主机我们可以看到一个是agent,另一个是agent(active). agent:zab ...
- jquery+thinkphp实现跨域抓取数据的方法
jquery的$.post发送数据到服务器后台,在由后台的PHP代码执行远程抓取,存到数据库ajax返回数据到前台,前台用JS接受数据并显示. //远程抓取获取数据$("#update_ac ...
- 15、Jdbc的优化(BeanUtils组件)
Jdbc的优化! BeanUtils组件 自定义一个持久层的框架 DbUtils组件 案例优化 1. BeanUtils组件 1.1 简介 程序中对javabean的操作很频繁, 所以apach ...
- 《Linux/Unix系统编程手册》
TCP的TIME_WAIT状态,超时时间为2倍MSL(IP报文超过TTL前最大生存时间,BSD规范为30s,RFC1122建议为2分钟).
- mha的搭建步骤(一主一从架构)
所需脚本文件到这里下载:http://note.youdao.com/share/web/file.html?id=ae8b11a61f7a8aa7b52aac3fcf0c4b83&type= ...