Linux Shell脚本编程基础
1. 脚本是一个包含一系列命令序列的文本文件,当运行这个脚本文件时,文件中包含的命令序列将得到执行。
2. 脚本主要由两部分组成:脚本解释器和命令序列
注:#!/bin/bash 指明脚本解释器为Bash Shell
3. Shell脚本允许用户设置和使用自己的变量,变量可以使数字或者字符串,用户无需指定其类型,也无需在使用前定义。
注:(1)定义时无需加"$"
(2)赋值“=”左右不能有空格
(3)注释用“#”
4. 同C程序一样,Shell脚本也可以使用命令行参数
(1)$#:传入脚本的命令行参数个数
(2)$*:所有命令行参数值,在各个参数值之间留有空格
(3)$0:第0个命令行参数,命令行本身(Shell文件名)
(4)$1:第1个命令行参数
5. Shell脚本提供了一个专门的命令expr来计算数学表达式。例如expr 5+1,当要把计算的结果赋值给其他变量时,还需要用反引号:·`expr 5+1`
6. 条件比较(操作符两边必须有空格)
(1)比较

(2)条件
① -r file:文件对当前用户可以读取
② -w file:文件对当前用户可以写入
③-x file:文件对当前用户可以执行
④ -f file:文件是普通文件
⑤ -d file:文件是一个目录
⑥ -c file:文件是字符设备文件
⑦ -b file:文件是块设备文件
⑧ -s file:文件大小不为0
⑨ -t file:文件的描述符指定的设备为终端
⑩ -e file:文件已经存在
⑪ -a:与
⑫ -o:或
⑬ !:非
7. Shell脚本中最基本的流程控制语句就是if-then,使用格式如下
if [ condition ]
then
commands
else
commands
fi
注:方括号左右两边必须有空格
8. Shell脚本提供了for命令,用于创建类似C语言编程中for语句一样的循环,使用格式如下
for var in list
do
commands
done
9. Shell脚本提供了while命令,用于创建类似C语言编程中while语句一样的循环,使用格式如下
while condition
do
commands
done
10. Shell脚本提供了case命令,用于创建类似C语言编程中switch语句一样的分支控制,使用格式如下
case var in
mode1) command1;command2;;
mode2) command1;command2;;
esac
(1)示例代码
#!/bin/sh -e while [ $# -gt ] ; do
echo "----argv[1] = $1"
case "$1" in
--) shift ; break ;;
-a) shift ; APPEND=yes ;;
-n) shift ; BOARD_NAME=$ ; shift ;;
*) break ;;
esac
echo "argv[1] = $1"
done
echo "APPEND=${APPEND}"
echo "BOARD_NAME=${BOARD_NAME}"
(2)Mode支持正则表达式,可以用以下字符
* 任意字符串
? 任意字符
[abc] a,b,c三个字符其中之一
[a-n] 从a到n的任一字符
| 多重选择
11. Sed(Stream Editor):流式编辑器,又名行编辑器,每次只编辑一行
12. Awk是一个强大的文本分析工具
Linux Shell脚本编程基础的更多相关文章
- Linux shell脚本编程基础之练习篇
shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...
- Linux Shell脚本编程-基础1
概述: shell脚本在Linux系统管理员的运维工作中非常重要.shell脚本能够帮助我们很方便的管理服务器,因为我们可以指定一个任务计划,定时的去执行某一个脚本以满足我们的需求.本篇将从编程基础 ...
- Linux Shell脚本编程基础(11)
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程 ...
- Linux Shell脚本编程-基础2
命令退出状态码 bash每个命令,执行状态都有返回值 0表示成功 非0表示失败(1-255) $?特殊变量可以打印出上一条命令的状态返回值 脚本的状态返回值是脚本执行的最后一条命令 自定义脚本状态返 ...
- linux基础—课堂随笔_03 SHELL脚本编程基础
shell脚本编程基础 条件选择:if语句 选择执行: 注意:if语句可嵌套 单分支 if(开头)判断条件:then条件为真的分支代码 fi(结尾) 双分支 if(开头)判断条件:then条件为真的分 ...
- SHELL脚本编程基础知识
SHELL脚本编程基础知识 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Linux之父Linus有一句话很经典:"Talk is cheap, show me the ...
- shell脚本编程基础介绍
Linux系统——shell脚本编程基础介绍 1.什么是shell 它是一个命令解释器,在linux/unix操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种操作输出的结果 ...
- Linux shell脚本编程(三)
Linux shell脚本编程 流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真” ...
- Linux shell脚本编程(二)
Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...
随机推荐
- C#变量初始化
在C#中声明变量使用下述语法: datatype identifier;, 例如: int i; 该语句声明int变量i.编译器不允许在表达式中使用这个变量,除非用一个值初始化了改变量.如果你不需要使 ...
- JS对象转URL参数(原生JS和jQuery两种方式)
转自:点击打开链接 现在的js框架将ajax请求封装得非常简单,例如下面: $.ajax({ type: "POST", url: "some.php", da ...
- Web测试项目计划与安排
本次Web测试项目实践的需求如下: 1 选中某一款产品(暂且选择博客园和CSDN进行横向比较),对被测产品进行评测: 2 进行用户调研: 3 对产品进行定量的评价: 4 对这个产品进行分析: 5 例会 ...
- Unknown column 'sid' in 'field list'
不知道sid命名的列,这是这个错误的提示 比对配置文件,看起实体跟数据库表的对应是否,然后查看找到问题是查找语句中的表名字,跟数据库中的表名不是一个名字.
- thinkphp+memcache缓存例子
public function dailyRelays() { $history = I('post.history'); $da = new \Home\Model\DailyrelayModel( ...
- C# 操作计算机用户权限
我们可以用代码来获取当前登录用户的权限信息, 用户角色类型有以下几种: // 摘要: // 指定与 System.Security.Principal.WindowsPrincip ...
- Ubuntu 将应用程序 固定到快快速启动栏(以Sublime为例)
因为Sublime Text并不是需要安装,所以缺少Ubuntu桌面运行的一些基本配置,比如不能将它加入桌面侧边的启动器. 而Ubuntu上也没有快捷方式的说法,而通过软件中心安装的软件就有图标,并能 ...
- 试题 B: 不同子串 蓝桥杯
[问题描述]一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成的串.例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个.注意在计算 ...
- Arduino I2C + 气压传感器LPS25H
LPS25H是ST生产的MEMS数字气压传感器.主要特性有: 测量范围:260 ~ 1260 hPa绝对气压 分辨率:均方根1 Pa 工作电压:1.7 ~ 3.6 V 功耗:4μA(低分辨率模式)~2 ...
- CentOS下Docker与.netcore(一) 之 安装
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...