列表:
Linux笔记——vim常用操作及扩展补充[手册]
Linux笔记——linux常用命令集合
Linux笔记——命令:awk
Linux笔记——命令:sed
Linux笔记——命令:grep
Linux笔记——命令:find
Linux笔记——命令:Sort,uniq,join,cut,paste,split
Linux笔记——shell基础:变量&本地变量&位置变量&特定变量参数
Linux笔记——条件测试test
Linux笔记——控制流
Linux笔记——shell补充:参数传递&函数等
Linux笔记——正则表达式入门及应用
Linux笔记——linux进程
Linux笔记——SVN命令总结
rpm&yum包管理命令总结
鉴于博客,表格&排版&颜色标记等等无法显示,大家可以下载这个笔记的资源
12个文档,不需要积分,以目录+表格+颜色标记形式
下载资源地址http://download.csdn.net/detail/wklken/3815477
The end! Thx! wklken的笔记
-----------------------------------------------
函数定义:
|
function_name(){
statements
}
必须在调用一个函数之前对它进行定义
shell中不存在向前声明
|
调用
|
function_name params
可以通过return命令让函数返回数字值,或者echo一个字符串返回
|
退出状态:
|
退出值为 0 表示成功
退出值非 0 表示失败
当一个命令因为严重的信号 N 退出时,bash 将使用 128+N 作为它的退出状态
|
出现一个信号
|
128及以上
|
命令没找到:
|
127
|
文件找到但不可执行:
|
126
|
展开或重定向中的错误:脚本程序可使用的错误代码
|
1-125
|
所有的内建命令在用法错误时返回
|
2
|
成功
|
0
|
参数传递:
|
参数使用与位置参数一样
$1, $2, ……
$@, $*
$#
func $var1 $var2
注:变量中间用空格、Tab分割
|
返回值
|
return:主要用来返回退出状态,即$?
0 <= 返回值(整数) <= 255;
0 为无错误;
非0 为有错误;
注:如果返回其他数据,可以使用echo或者全局变量
return_var=`func $var1 $var2`
|
标准I/O
|
Linux 默认提供了三个I/O 通道:
Standard Input
(标准输入,文件描述符:0) – 默认是键盘
Standard Output
(标准输出,文件描述符:1) – 默认是终端
Standard Error
(标准错误,文件描述符:2) – 默认是终端
|
调试脚本
|
命令行选项
|
Set选项
|
说明
|
sh –n <script>
|
set –o noexec
set -n
|
只检查语法错误,不执行命令
|
sh –v <script>
|
set –o verbose
set –v
|
在执行命令之前回显它们
|
sh –x <script>
|
set –o xtrace
set –x
|
在处理命令之后回显它们
|
sh –u <script>
|
set –o nounset
set -u
|
如果使用了未定义的变量,就给出出错信息
|
-o选项启用设置 +o选项取消设置
|
AND列表
|
作用:只有前面所有的命令都执行成功的情况下才执行最后一条命令
Statement1 && statement2 && statement3 && …..
从左到右顺序执行每条命令,如果一条命令返回true,右边的下一条命令才能执行
&&命令作用是检查前一条命令的返回值
if [ -f file_one ] && echo “hello” && [ -f file_two ] && echo “ there”
then
……
fi
|
OR列表
|
作用:持续执行一系列命令,知道有一条命令成功为止
Statement1 || statement2 || statement3 || ….
从左顺序开始执行每条命令,若是一条命令返回false,它右边的下一条命令才能够被执行,如此持续到知道有一条命令返回true,或者列表中所有命令都执行完毕
if [ -f file_one ] || echo “hello” || echo “ there”
|
内置命令补充:
|
:命令
|
冒号(:)是一个空命令,偶尔用于简化条件逻辑,相当于true的一个别名。
例如 while :
也用于在变量的条件设置中
例如 : ${var:=value}
if ….;then
:
fi
|
.命令
|
用于在当前shell中执行命令
. ./shell_script
相当于source命令
在执行脚本程序中列出的命令时,使用的是调用该脚本程序的同一个shell
|
echo命令
|
输出结尾带有换行符的字符串
echo –n “string to output” bash风格去换行符
|
eval命令
|
允许对参数进行求值,是shell的内置命令
即允许代码被随时生成和运行
|
exec命令
|
两种用法
典型:将当前shell替换为一个不同的程序
exec wall “Thanks for all the fish”
第二种用法修改当前文件描述符
exec 3 < afile
|
exit n命令
|
使脚本程序以退出码n结束运行
若是在脚本退出时不指定退出状态,那么该脚本最后一条被执行命令状态将被用作返回值
|
export命令
|
将作为它参数的变量导出到子shell中,并使之在子shell中有效
export把自己的参数创建为一个环境变量,而这个环境变量可以被当前程序调用的其他脚本和程序看见
被导出变量构成从该shell衍生的任何子进程的环境变量
|
expr命令
|
将它的参数当做一个表达式来求值,最常见用法简单数学运算
x=`expr $x + 1` 注意,运算符两边空格必须
x=$(expr $x + 1)
|
printf命令
|
格式化输出
d 十进制
C 一个字符
S 一个字符串
% 一个%字符
printf “%s\n” hello
printf “%s %d” “Hi” 6
|
return命令
|
使函数返回,可有一个数值参数,作为该函数的返回值,如果不带参数,return命令默认返回最后一条命令的退出码
|
set命令
|
为shell设置参数变量
set $(date)
echo The month is $2
即参数的值作为当前脚本参数列表了
|
shift命令
|
把所有参数变量左移一个位置,是$2->$1 $3->$2原来$1被丢弃,$0保持不变
可带参数表示左移一个数值参数
|
trap命令
|
用于指定接收到信号后要采取的行动
常见用途:在脚本程序被中断时完成清理工作
trap command signal
注:脚本程序通常是从上到下顺序解释执行的,必须在想保护那部分代码之前指定trap命令
HUP(1) 挂起,中断掉线或用户退出 引发
INT(2)中断 ctrl+c组合键发生
QUIT(3)退出,ctrl+\组合键发生
ABRT(6)中止,默写严重的执行错误引发
ALRM(14)报警,用来处理超时
TERM(15)终止,系统关机时发出
|
unset命令
|
从环境变量中删除变量或函数
不能删除shell本身定义的只读变量
|
BP:
使用命令扩展:
$() 代替反引号``
$(( …. )) 代替expr算术运算
参数扩展:
for I in 1 2
do
process ${i}_tmp
done
${param:-default} 如果param为空,设为默认值
${#param} 给出param长度
${param%word} 从param尾部开始,删除与word匹配的最小部分,返回剩余部分
${param%%word} 长
${param#word} 头部 小
${param##word} 头部 长
|
分享到:
相关推荐
学习linux的笔记,发到博文了,鉴于文档方便...Linux笔记——shell补充:参数传递&函数等 Linux笔记——正则表达式入门及应用 Linux笔记——linux进程 Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
vi 学习笔记——取自《Unix&Linux;大学教程》,vi 学习笔记——取自《Unix&Linux;大学教程》
Linux新手生存笔记[10]——shell脚本基础3-函数及常用命令.pdf
linux运维学习笔记:Shell函数
Python学习笔记——运算符 运算符: 赋值运算符 算术运算符 关系运算符 逻辑运算符 位运算
5,嵌入式linux开发加速器--NFS开发环境的建立;6,烧写第一个程序到land flash;7,使用autotools自动生成Makefile;8,虚拟机上挂载u盘;9,虚拟机中linux配置串口;10,制作文件系统映象;11,自动生成make文件
其实这些内容都不是很难,一旦理解,对于linux内河地掌握会非常有帮助,该资料配以大量图片,详尽的解释了80386分段机制与段描述符、段描述符表、选择符等保护模式下数据结构的内容。是一本不可多得的可以令人...
韩顺平Oracle笔记——函数.pptx韩顺平Oracle笔记——函数.pptx
linux运维学习笔记:Shell变量
FPGA自学笔记——设计与验证公开版;十分适合初学者使用
linux运维学习笔记:Shell脚本书写规范
网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维笔记——T221.pdf网络运维...
网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx网络运维笔记——T221.docx
学习Linux的好资料 好好利用 帮助你更好的入门 完全免费
——————————————————————————————————————————————
linux运维学习笔记:Shell脚本调试
awk基础入门(4) Unix系列shell程序编写(上) awk基础入门(5) Unix系列shell程序编写(下) Unix系列shell程序编写(中) shell游戏:俄罗斯方块 ...shell游戏:五子棋 ...shell游戏:老虎机 ...Shell学习笔记 五