完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
shell是什么
shell是一个命令解释器,它接收应用程序/用户命令,然后调用操作系统内核。shell还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。 shell解析器 Linux提供的Shell解析器有以下六种: cat /etc/shells /bin/sh : /bin/bash : Centos默认的解析器是/bin/bash /***in/nologin: /bin/dash: /bin/tcsh: /bin/csh: shell入门 1.脚本格式 (1) 脚本以 #!/bin/bash 开头 (指定解释器) (2) 脚本执行方式: ① sh test.sh ② bash test.sh ③ 。/test.sh :这种方式需要授予test.sh脚本执行权限 2.shell中的变量 (1) 常用的系统变量 ① $HOME:当前用户的家目录 ② $PWD:当前的目录 ③ $SHELL:默认的解析器 ④ $USER:当前用户 (2) 自定义变量 ① 基本语法:变量=值 ② 撤销变量:unset 变量 ③ 声明静态变量:readonly变量,注意:不能unset ④ 变量定义规则: 《1》 环境变量名建议大写 《2》 等号两边不能有空格 《3》 在bash中,变量默认都是字符串类型,无法直接进行数值运算 《4》 变量的值如果有空格,需要用双引号或单引号括起来 特殊变量:$n $n (功能描述:n为数字,$0代表该脚本名称,$1-$9代表第一到第九个参数,10以上的参数需要用大括号包含,如 ${11} ) 特殊变量: ①。 $* :代表命令行中所有的参数,$*把所有的参数都看成是一个整体 ② $@ :代表命令行中所有的参数,$@把每个参数区分对待 ③。 $# :代表命令行中的参数个数;eg: sh test.sh para1 para2 ,则$#的值为2 ④。 $? :上一个命令执行的返回状态,如果这个状态值是0,证明上一个命令执行正确,反之不是0,则证明上一个命令执行失败 5 运算符 ① $((运算式)) :$(( 3 + 4 )) ② $[运算式] : $[(2+3)*4] ③ expr + , - , * , / , % 加,减,乘,除,取余 :*expr `expr 2 + 3` \** 4* 6 条件判断 ① 【condition】前后要有空格 ② 条件非空即为true,反之为false ③常用的判断条件 《1》两个整数之间的比较 = : 字符串比较 -lt : 小于 -le : 小于等于 -eq : 等于 -ge : 大于等于 -gt : 大于 -ne : 不等于 《2》按照文件权限进行判断 -r : 有读的权限 -w : 有写的权限 -x : 有执行的权限 《3》 按照文件类型进行判断 -f : 文件存在,并且是一个常规的文件(file) -e : 文件存在 -d : 文件存在,并且是一个目录(directory) 7 流程控制 ① if 判断 if [ 条件 ];then if [ 条件 ] 程序 then else 程序 程序 else fi 程序 fi ② case case $变量名 in “值1”) 程序1 ;; “值2”) 程序2 ;; *) 默认程序 ;; ③ for循环 语法1: for(( 初始值;循环控制条件;变量变化 )) s=0 do for(( i=0;i《100;i++ )) 程序 do done s=$[$s+$i] done echo $s 语法2 for 变量 in 值1,值2,值3.。. for i in $* do do 程序 echo “value is $i” done done ④ while循环 while [ 条件表达式 ] do 程序 done read读取控制台输入 read 选项 参数 选项: -p : 指定读取值时的提示符 -t : 指定读取值时等待的时间 参数: 变量:指定读取值时的b变量名 实例:提示7s内,读取控制台输入的名称 touch read.sh vi read.sh #!/bin/bash read -t 7 -p “Enter your name in 7 seconds ” NAME echo $NAME sh read.sh 函数 1系统函数 ① basename: eg: basename /opc/home/aa.txt 输出: aa.txt eg: basename /opc/home/aa.txt .txt 输出: aa ② dirname: eg: dirname /opc/home/aa.txt 输出:/opc/home 2 自定义函数 基本语法 [funciton] funname[()] { Action [return int;] } funname cut 工具 cut [选项参数] filename 选项参数 -f:列号,提取第几列 -d:分隔符,按照指定分隔符分格列 2.实例 eg: cut -d “ ” -f 1 aa.txt eg: ifconfig eth0 | grep “inet addr” | cut -d : -f 2 | cut -d “ ” -f 1 sed工具 1.sed是一种流编辑器。一次处理一行内容,把当前处理的行存储在临时缓冲区中,成为“模式空间”,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕,接着处理下一行,这样不断重复,直到文件末尾,文件内容并没有改变,除非你使用重定向存储输出。 2.用法: sed [选项参数] ‘command’ filename 选项参数: -e : 直接在指令列模式上进行sed的动作编辑 命令功能描述: a: 新增 d:删除 s:查找并替换 3.实例 sed “2a mytest” aa.txt : 将mytest插入到aa.txt的第二行下 sed “/mytest/d” aa.txt :将aa.txt中的mytest删除 sed “s/mytest/youtest/g” aa.txt : 将aa.txt中的mytest替换成youtest sed -e “2d” -e “s/mytest/youtest/g” :先删除第二行,在替换aa.txt中的mytest为youtest awk工具 1.一个强大的文本分析工具,把文本逐行的读入,以空格为默认分割符将每行切片, 切开的部分在进行分析处理 2.基本语法 awk [选项参数] ‘pattern1 {action1} pattern2 {action2} 。.. ’ filename pattern :表示awk在数据中查找的内容,也就是匹配模式 action :在找到匹配内容时执行的一系列命令 参数说明 -F : 指定输入文件的分隔符 -v : 赋值一个用户定义变量 3.实例 awk -F : ‘/^root {print $7}’ /etc/passwd // 只显示/etc/passwd 的第一列和第七列,以逗号分隔, //且在所有行前面添加列名user,在最后一行添加“test,ch” awk -F : ‘BEGIN {print “user”} {print $1,“,” $7} END{print “test,ch”}’ /etc/passwd sort 1.sort 命令在linux中非常有用,它能将文件进行排序,并将排序结果标准输出。 2.语法 sort [选项] [参数] 3.选项 -n 依照数值大小排序 -r 以相反的顺序排序 -t 设置排序时所用的分隔符 -k 指定需要排序的列 4.实例 sort -t : -nrk 3 aa.txt |
|
|
|
只有小组成员才能发言,加入小组>>
889浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 17:31 , Processed in 0.753352 second(s), Total 81, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号