Linux:shell编程(2)

1.脚本类型:
(1)编译型:xx.c -> 编译 ->main.exe(运行效率高)
(2)解释型:需要解释器解释执行,但是开发简单、
2.(1)case语句:

case variable in
	pattern [ | pattern ] ...)statements;;
	pattern [ | pattern ] ...)statements;;
	...
esac

在这里插入图片描述

在这里插入图片描述
(2)函数
传参,定义变量,函数返回值
如何给脚本传参
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加local表示只在本地函数中生效,为局部变量

local str ="hello"

加unset表示定义的变量失效

unset str

(3)脚本调用脚本
如何传参?
① 加export变成环境变量,变成环境变量之后的子进程中都会继承

export MYSTR

a和b脚本
在这里插入图片描述
直接执行会产生新的解释器
加点、空格执行脚本代表要把脚本放到解释器中去执行,用的是同一个解释器

. ./b.sh

点、空格+直接路径

. /home/maria/c215/day1_12/b.sh

-f可以判断文件是否存在

-f ~/.bash
//alias定义别名
alias xx=`ls -CF`
vi .bashrc

(4)c程序调用脚本
b.sh

  1 #!/usr/bin/bash
  2 
  3 echo "b.sh run pid=$$"
  4 echo "b.sh argc=$#"
  5 
  6 for arg in $*
  7 do
  8     echo "arg=$arg"
  9     shift
 10 done
~          

在这里插入图片描述
main.c

  1 #include<stdio.h>
  2 #include<stdlib.h>
  3 #include<unistd.h>
  4 
  5 int main()
  6 {
  7     printf("main pid =%d\n",getpid());
  8     execl("./b.sh","aa","hello","123",(char*)0);
  9     perror("execl err");
 10 }

用main.c调用b.sh
在这里插入图片描述
(5)awk命令:对文件内容进行过滤和提取,生成报文,读取原文件,呈现用户

awk -F `{print $l}` file > file1

file为原文件,file1为提取后的
在这里插入图片描述

(6)sed:流式文本编辑器,对文件进行修改

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值