Shell相关执行脚本命令

1.Shell 中的数组

Shell 数组用括号来表示,元素用"空格"符号分割开

使用@ 或 * 可以获取数组中的所有元素

#获取数组的长度

执行脚本:

2.运算符    

(1)“$((运算式))”或“$[运算式]”  + , - , *,  /,  %    加,减,乘,除,取余

(2)expr  + , - , \*,  /,  %    加,减,乘,除,取余   注意:expr运算符间要有空格

采用$[运算式]方式

3.条件判断

常用判断条件($?查询 返回0则ture 返回1则false)

(1)两个整数之间比较

= 字符串比较

-lt 小于(less than)                  -le 小于等于(less equal)

-eq 等于(equal)                            -gt 大于(greater than)

-ge 大于等于(greater equal)    -ne 不等于(Not equal)

例如:23是否大于等于22

(2)按照文件权限进行判断

-r 有读的权限(read)                     -w 有写的权限(write)

-x 有执行的权限(execute)

例如:helloworld.sh是否具有写权限

(3)按照文件类型进行判断

-f 文件存在并且是一个常规的文件(file)

-e 文件存在(existence)           -d 文件存在并是一个目录(directory)

例如:目录中的文件是否存在

4.流程控制(重点)

4.1  if 判断 if后要有空格

如果aaa.txt文件存在,往文件中写入bbb,如果不存在,创建aaa.txt文件,往文件中写入bbb

4.1  case 语句

使用case判断输入内容,如果输入1,输出aaa,如果输入2,输出bbb,如果输入其他,输出ccc

注意:case 相当于java中的switch
           "1") 相当于switch 中的 case "1":
           *) 相当于switch 中的default
           ;; 相当于switch 相当于break
           结尾 esac

4.3  for 循环

计算1到100之间所有偶数的和

4.4  while 循环(注意:while后边有空格)

5.read读取控制台输入

read(选项)(参数)

       选项:   -p:指定读取值时的提示符;

                     -t:指定读取值时等待的时间(秒)。

       参数:   变量:指定读取值的变量名

请在5秒之内输入要计算的数字(偶数)的和:

6.函数

6.1  系统函数

      basename   (basename命令会删掉所有的前缀包括最后一个(‘/’)字符,然后将字符串显示出来)

     去掉后缀

      dirname 文件绝对路径        (从给定的包含绝对路径的文件名中去除文件名(非目录的部分),然后返回剩下的路径(目录的部分))

6.2  自定义函数

  6.2.1第一种是带参数

6.2.2第二种是不带参数

6.2.3带返回值的函数,返回值只能是数子,并且数字只能再0~255之间

7.Shell工具(文本处理)

7.1  cut 

(cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出)

cut [选项参数]  filename

选项:

-f

列号,提取第几列

-d

分隔符,按照指定分隔符分割列

-c

指定具体的字符

切割cut.txt第一列:

编写cut.txt:

在cut.txt文件中切割出qian

7.2  set

(sed是一种编辑器,它一次处理一行内容 把当前处理的行存储在临时缓冲区中 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾)

sed [选项参数]  命令 filename

选项:

-e

直接在指令列模式上进行sed的动作编辑。

-i

直接编辑文件

 

命令:

a

新增,a的后面可以接字串,在下一行出现

d

删除

s

查找并替换 

 

将“xxxx”这个单词插入到cut.txt第二行下:

删除cut.txt文件所有包含xxxx的行:

将cut.txt文件中xi替换为qianxi:

7.3  awk

(把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理)

awk [选项参数] ‘pattern1{action1}  pattern2{action2}...’ filename (只有匹配了pattern的行才会执行action

pattern:表示AWK在数据中查找的内容,就是匹配模式

action:在找到匹配内容时所执行的一系列命令

-F

指定输入文件折分隔符

-v

赋值一个用户定义变量

awk的内置变量

FILENAME

文件名

NR

已读的记录数

NF

浏览记录的域的个数(切割后,列的个数)

7.4 sort

(sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出)

 sort(选项)(参数)

选项:

-n

依照数值的大小排序

-r

以相反的顺序来排序

-t

设置排序时所用的分隔字符

-k

指定需要排序的列

参数:指定待排序的文件列表

按照“:”分割后的第三列倒序排序:

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值