linux基础知识之:Shell编程

来源:互联网 发布:linux shell脚本减法 编辑:程序博客网 时间:2024/05/21 16:17

Shell编程


当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序。那么,shell是什么呢?确切一点说,shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至是编写一些程序。


本人目前对Shell还没有体会到方便之处,以后有了更深的体会再慢慢补充~


入门使用比较好的2个帖子:

 

http://www.cnblogs.com/xuqiang/archive/2011/04/27/2031034.html


http://www.cnblogs.com/feisky/archive/2010/03/31/1701560.html

 

bash通配符与特殊符号

http://www.cnblogs.com/ggjucheng/archive/2012/10/30/2746963.html


 

大多数情况下,可以使用测试命令--test命令来对条件进行测试,比如可以比较字符串、判断文件是否存在及是否可读等等……或者用" [ ] "来表示条件测试,注意这里的空格很重要,要确保方括号前后的空格。

 

[ -f "somefile" ] :判断是否是一个文件

[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限

[ -n "$var" ] :判断$var变量是否有值

[ "$a" = "$b" ] :判断$a$b是否相等

...


自己写的一个测试的例子:

 

<span style="font-size:14px;">#!/bin/bash#定义变量不需要指定类型msg="hello,world!"# commentif [ ${SHELL} = "/bin/bash" ]; then  echo "bash is fined!"elseecho $msgfi#file.sh是当前目录一个文件if [ -f "/file.sh" ];thenecho "it is a file"#如果then写在下一行就不用打分号了 elif [ -x "file.sh" ];then echo "executor  file"fiecho "what is your favourite OS?"#select语句比较适合交互的场合select var in "linux" "windows" "OS"; do case $var in"linux") echo "linux OS";;"windows")echo "windows OS";;"OS")echo "OS OS!";;esacbreak;doneecho "you have select $var"for ((i=0;i<=18;i++))do echo "world is $i"donefor var in A B C; doecho var is $vardone#测试引号mytestStr="test is test no reason!"echo $SHELLecho "$mytestStr"echo '$SHELL'function demo(){echo "args are: $*"echo "first arg is $1"echo "second arg is $2"echo "third arg is $3"}demo love foo bar </span>


补充:

 

1.Shell脚本比较运算符及逻辑运算符小结

原文:    http://www.linuxidc.com/Linux/2012-02/53148.htm


参考:  http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html


1、数值

格式:

test "num1" opr "num2"

[ "num1" opr "num2" ]

opr 取值:

相等:-eq

不等:-ne

大于:-gt

小于:-lt  【l是字母L的小写】

小于等于:-le

大于等于:-ge

2、字符串

格式:

[ str1 opr str2]

[ opr str ]

opr取值:

相等:=

不等:!=

空串:-z

非空串:-n

3、文件

格式:

[ opr file ]

opr取值:

目录: -d

文件: -f

链接: -L

可读: -r

可写: -w

可执行: -x

文件非空: -s

4、逻辑运算符

逻辑与: -a          格式: [ condition1 -a condition2 ]

逻辑或: -o          格式: [ condition1 -o condition2 ]

逻辑否: !             格式: [ ! condition ]



2. 常用的脚本熟悉,知道和awk的用途结合/区别

         脚本包括:网络检测的,文件管理的,一些应用服务器的配置管理  mysql  tomcat..


shell脚本中一些特殊符号:

http://www.cnblogs.com/xuxm2007/archive/2011/10/20/2218846.html


各种括号:

http://blog.csdn.net/taiyang1987912/article/details/39551385

http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html

0 0
原创粉丝点击