shell脚本学习笔记
2018-02-26 15:27
357 查看
shell脚本教程
1. 常见的shell种类:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
2. shell变量
使用一个定义过的变量,只要在变量名前面加美元符号即可;
readonly 可定义只读变量;
unset 可删除变量,但是不能删除只读变量;
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}3. shell运算符Shell 和其他编程语言一样,支持多种运算符,包括:
算数运算符
关系运算符
布尔运算符
字符串运算符
文件测试运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。
4. 流程控制 for 、while 、 until、case 、break、continue;
5. shell 函数函数返回值在调用该函数后通过 $? 来获得(可参考实例)。注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。6. 输入输出重定向需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。
如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:$ command > file 2>&1
1. 常见的shell种类:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
2. shell变量
使用一个定义过的变量,只要在变量名前面加美元符号即可;
readonly 可定义只读变量;
unset 可删除变量,但是不能删除只读变量;
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:# 取得数组元素的个数length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}3. shell运算符Shell 和其他编程语言一样,支持多种运算符,包括:
算数运算符
关系运算符
布尔运算符
字符串运算符
文件测试运算符
原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。#!/bin/bash
val=`expr 2 + 2`
echo "两数之和为 : $val"注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。
4. 流程控制 for 、while 、 until、case 、break、continue;
5. shell 函数函数返回值在调用该函数后通过 $? 来获得(可参考实例)。注意:所有函数在使用前必须定义。这意味着必须将函数放在脚本开始部分,直至shell解释器首次发现它时,才可以使用。调用函数仅使用其函数名即可。6. 输入输出重定向需要注意的是文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)。
如果希望将 stdout 和 stderr 合并后重定向到 file,可以这样写:$ command > file 2>&1
/dev/null 文件
如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null:$ command > /dev/null7. 文件包含 当前shell脚本文件可以实现调用其他文件定义的变量,进行运算、输出等操作(可参考实例);相关文章推荐
- shell脚本语言学习笔记-3
- 【学习笔记--shell】---第一个shell脚本
- Liunx 命令行与shell脚本编程大全 第五章学习笔记(Vim 编辑器使用详解 解释+图示)
- Zynq-Linux移植学习笔记之22-Linux应用程序调用shell脚本
- 树莓派学习笔记——Shell脚本操作GPIO
- Shell脚本学习笔记
- Shell脚本学习笔记(五)--函数
- Linux学习笔记(四)——Linux_shell脚本基础
- shell脚本编程之case语句学习笔记
- SHELL脚本,学习笔记
- shell脚本学习指南--学习笔记
- Shell脚本学习笔记
- Shell 学习笔记 -----运行Shell脚本的两种方法(一)
- Shell 脚本专家指南 学习笔记1
- Shell脚本学习笔记
- Shell脚本学习笔记
- 学习笔记:Shell脚本-2015-08-05
- Shell脚本学习笔记(四)--流程控制
- shell脚本编程之循环语句学习笔记
- shell脚本学习笔记