shell编程总结

1、程序逻辑
if while [ ]
2、常见命令
2.1 文件处理
2.2 文本处理
grep find sed awk
2.3

#grep 'a.c'

$: 查看变量名里的内容
` : ESC键的下方的,` string ` 执行string这个命令
= : 定义变量的符号
“ ” 定义字符串,但有些符号还是当成转义符:$
‘ ’ 定义的字符串,shell不去转义----> 其他的命令工具,可以借助这个特点,命令工具在''里定义它的解释符
' '里面一般都是正则表达式
${ } : 变量名得访问
# : 注释
#! : 只能放到第一行上,定义解释器 #!/bin/sh #!/bin/bash
\ : 反斜线,\# 不转义 ,续行符
; : 一行表示多个命令的分割符
;; : case每个选项的分隔符
| : 管道
case 中的 字符串) : 跟哪个字符匹配,字符串中 | 代表多个选择

1、shell脚本
用shell这个解释器来解释文本,把这个文本叫做脚本。
2、路径的问题
绝对路径:
找到一个可执行程序的绝对路径: which 【只能查找PATH变量中的目录】
相对路径
3、文件属性
file : 查看文件内容属性信息 *.jpg exe

windows : 根据后缀名来决定文件的内容信息
linux : 7种文件类型(- ,d,c,b,l,s,p)【软链接 硬链接】
linux win 交集 : - d 打包来避免c,b,l,s,p
cp linux tar.gz -C

#include ln asm ----> asm-arm l

4、shell的执行
直接解释: bash file_name ksh csh tcsh
./abc.sh [这个文件必须有可执行权限]

5、shell变量
shell脚本中,一般来说,前面都是变量的定义,后面才是变量的逻辑组合
1、C语言变量有类型,shell的变量,没有类型,只有字符串的属性。
2、shell变量在定义的时候,=作为定义的变量的解释符
【abc=10】
【abc = 10】 ----> shell 通过空格作为参数的分隔符,bash ---> main(int argc,char *argv[])
自动找argv[0]当成命令来替换
3、查看变量
set export env

set : 查看当前shell所支持的所有变量
env : 查看环境变量
export : 把变量往环境变量里申明。
变量尽量使用大写字母
4、如果没有变量,访问他,可以的,但是返回一个空值
一般来说,$和{}配合使用,限制变量名

5、位置变量
$0 $1 $2 .... $9
$# : 参数个数,不代表$0
$* : 所有参数
$$ : pid号,主要用在临时文件上。
$? : 上一个shell命令的状态
old_file=1.txt
cp abc bbb
diff 1.txt 2.txt

expr : 把字符串转换为数字,进行运算,小心空格的问题,用途,计数,循环上。
常常跟``反撇号一起使用。


6、测试语句
1、字符串的比较
相等 不等
2、当成数字进行比较
相等 不等 大于 小于 ....
3、属性的比较
文件大小,时间...

测试的命令 测试的逻辑表达式
te

st
[ 测试的逻辑表达式 ]
测试的逻辑表达式 :
= 代表字符串的比较 ,如果等号两边的表达式有字符串,那么就按照字符串来进行比较



不能交换位置
逻辑表达式1 && 逻辑表达式2
逻辑表达式1 || 逻辑表达式2

[ -z $myabc ] && echo "failed"

if []
then
fi











相关主题
相关文档
最新文档