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
- linux基础知识之shell编程
- linux基础知识之:Shell编程
- Linux基础知识---Shell编程之正则表达式
- linux基础知识--shell编程
- linux SHELL 编程基础知识(2)
- shell学习之编程基础知识
- linux shell基础知识之五
- linux基础知识之shell(2)
- Linux下的Shell编程基础知识
- Linux下的Shell编程基础知识
- Linux下的Shell编程基础知识
- Linux Shell基础知识5 脚本编程基础
- linux SHELL 编程基础知识(随笔记)
- linux基础知识5-Shell编程基础
- Linux系统Shell编程基础知识储备
- linux 之shell编程
- linux之shell编程
- linux基础知识之:awk编程
- 设计模式大全
- iOS开发中的UIWindow
- 事件监听,内部类
- 内部类和嵌套类
- 安卓调用系统的图库选择图片并获取Uri路径
- linux基础知识之:Shell编程
- 【SICP练习】125 练习3.56
- C++中构造函数、析构函数以及类成员初始化顺序详解
- Variance
- mybatis:"configuration" must match "(properties?,settings?,typeAliase.....
- 腾讯笔试题精选一
- chmod
- UVa1644 - Prime Gap
- (产品技术)Axure7.0圆角矩形