shell脚本学习
来源:互联网 发布:mac ps找不到导入照片 编辑:程序博客网 时间:2024/05/11 01:49
Shell 学习
1.shell 解释型语言,有很多种解释器。默认是/bin/bash。
Shell脚本第一行要写:
#!/bin/bash
2.shell脚本运行的方法
1)sh **.sh
2)chmod a+x **.sh
./**.sh
注意,一定要写成./**.sh,而不是**.sh。
运行其它二进制的程序也一样,直接写**.sh,linux系统会去PATH里寻找有没有叫**.sh的,而只有/bin,/sbin, /usr/bin,/usr/sbin等在PATH里,你的当前目录通常不在PATH里,所以写成**.sh是会找不到命令的,要用./**.sh告诉系统说,就在当前目录找。
3)sh命令去执行一个shell脚本的时候是可以加-x选项来查看这个脚本执行过程的,这样有利于我们调试这个脚本哪里出了问题。
sh –x **.sh
3.1)#是注释
2);作为命令的分隔符
3)单引号、双引号、反引号
当变量内容带有特殊字符(如空格)时,需要加上单引号
变量内容中本身带有单引号或者引用其他变量的内容,需要用到双引号了
变量内容中需要用到其他命令运行结果则可以使用反引号,在ESC下面。
http://www.92csz.com/study/linux/12.htm
学习shell脚本之前的基础知识
4.定义变量& 使用变量
1)variableName="value",变量名和等号之间不能有空格,注意variableName的值都是String,要是值没有空格什么的,就可以什么不加;否则,用单引号或者双引号
2)使用一个定义过的变量,只要在变量名前面加美元符号($)即可
变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界
5.定义数组
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:
数组名=(值1 值2 ... 值n)
读取数组元素值的一般格式是:
${数组名[下标]}
#使用@符号可以获取数组中的所有元素
echo ${array_name[@]}
# 取得数组元素的个数
length=${#array_name[@]}
6. test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
http://see.xidian.edu.cn/cpp/view/7004.html
Shell test命令
数值测试
参数
说明
-eq
等于则为真
-ne
不等于则为真
-gt
大于则为真
-ge
大于等于则为真
-lt
小于则为真
-le
小于等于则为真
字符串测试
参数
说明
=
等于则为真
!=
不相等则为真
-z 字符串
字符串长度伪则为真
-n 字符串
字符串长度不伪则为真
文件测试
参数
说明
-e 文件名
如果文件存在则为真
-r 文件名
如果文件存在且可读则为真
-w 文件名
如果文件存在且可写则为真
-x 文件名
如果文件存在且可执行则为真
-s 文件名
如果文件存在且至少有一个字符则为真
-d 文件名
如果文件存在且为目录则为真
-f 文件名
如果文件存在且为普通文件则为真
-c 文件名
如果文件存在且为字符型特殊文件则为真
-b 文件名
如果文件存在且为块特殊文件则为真
UID用来检查是不是超级用户(UID=0)还是普通用户
7.ifelse
8.case
9.for
10.
date "+%Y%m%d %H:%M:%S"
20140626 02:02:55
- 【脚本学习】区分shell与shell脚本
- Shell脚本学习
- Shell脚本 学习
- shell脚本的学习
- shell脚本学习-1
- shell脚本学习-2
- shell脚本学习小结
- Shell脚本学习一
- shell 脚本学习
- linux shell脚本学习
- Linux Shell脚本学习
- shell 脚本学习
- shell脚本学习
- SHELL脚本,学习笔记
- shell脚本学习链接
- shell脚本学习
- shell脚本学习笔记
- Linux shell脚本学习
- SAS学习
- CreateProcess的用法
- 基于XMPP协议的Android即时通信系
- c++ threadpoolmain.cpp
- 简单的css控制背景
- shell脚本学习
- Android DDMS查看Threads情况
- 经纬财富:黄石天通银的优势有哪些?
- Linux高性能服务器编程——Linux网络基础API及应用
- 不可变类(java基础)
- 华为机试题
- PHP数组输出三种形式 PHP打印数组
- 使用XML文件传输数据 -概念
- 夏令营g管为什为8一位磷