`
touchinsert
  • 浏览: 1291812 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

shell编程--第二天

 
阅读更多

1。while 条件 ; do done //(()) [] test
2。until同上,仅仅是条件不成立的时候才执行
3。/dev/null : unix 黑洞。 用于清空文件 cat /dev/null > xx find -name a.txt 2>/dev/null
4。注意:陷阱题之continue跳出循环后,把打印的东东留在了缓冲区,结果一直都没有打印出来。
5。命令列表 && && | | | | ,后一个命令是否执行依赖于前一个命令的成功与否。
6。语句块{}: (ls "$1") && { echo "$1" .......}
7。函数 1。function fun1{}fun1(){} 注意:函数没有返回值,调用直接写函数名即可。( )中不允许出现行参,只能为空。 declare -f 查看所有滴函数
shell的函数,对于shell来说是新的shell进程,如此传参:fun1 1 2 3 ,$0永久不变,$1之后的位置参数在函数内是局部的,外依旧是主程序的位置参数。
8。shell编程是在命令的基础上的,所以应该时刻想着以命令的格式来编写代码,不要搞错聊。
9。函数中的return 是返回的是:返回码,必须是int行,不能是其他的类型。最多255,0代表成果。如果val=$(fun),则取出来的是:函数所输出的东西。
10。shell中,任何命令都是有返回码的,而且必须有---因为默认就有。(以最后一句代码作为返回值)
11。加上( ) 表示在子shell中去执行,否则是在当前shell中执行。
12。如果非要函数有返回,那只能使用全局变量了,没别的办法了。可是,走运了,函数中的变量默认就是全局性的,加了local修饰的变量才是函数的局部变量了。

$( fun ) 取出来的是:echo打印出来的东西,并不是return 值。
13。普通的调用函数是不会启动新的进程的。调用shell会启动新进程的。a.sh exec a.sh (exec是不会创建新的进程的)
14。fork () exec source ,这4种方式来进行执行子shell,前2个方式会新建立个shell程序,后2个则是在当前shell下进行的执行。

15。export到出变量,使变量能够在子shell中起效。

16。在系统中,进程是颗树,他们是具有关系的(父子爷。。。)

17.内建命令(用enable来查看):是在shell启动时就已经被加载到内存中去的。如:pwd echo 外部命令:需要通过PATH来配置其外部程序。

18.jobs 查看后台程序,fg %n bg %n ctrl+ z 挂起.。 echo -E -e -n 建议使用 printf (注意:%s中间不能够有空格,因为替换之后就成了2个参数了,因为中间有空格)

19.注意:shell编程的基础是命令的集合,所以,他不像其他编程语音一样的格式,他基本上都是通过空格来表达他的参数与识别。 这就是命令形式的编程。

20.eval:把字符串当成是命令来使用。尽量不用,有风险。

21.set 重新设置位置参数。 set $(date) echo $2 , set -o unset 删除某个变量

22. shift 把位置参数都做移一位,原来$1的值就被丢弃了。呵呵,$0 永远保持不变。

23.进程很多情况下是接到信号结束的。呵呵

24.trap命令:指定当接受到信号后将要采取的行动。 trap 命令 信号整数 trap - SIGOUT -表示,用默认的响应来响应该信号。

25.shell中 :冒号表示空语句,同时也表示逻辑真

26.$$ 进程号 $? 上一个命令的返回值

27.exit n ; 0 成功 1-255 错误信息 126无权限 127命令未找到 128别信号打断

28.find 路径 选项 测试部分 动作部分

29;用;可以分隔多个命令在同一行 ; 信号:即中断技术 ; tar -cvf shell.tar * tar -tf shell.tar

30. $() ` ` 命令替换; 进程替换: > 即重定向 ; grep 选项 正则 文件 | 路径

31.特殊元素: ls -l | grep -E a[[:blank: ] ] 命令行,所有特殊字符都要转义。 或者用 " ",就可以不用/来转义了。

32. AWK 工具:== gawk ,awk -F '{print $1}' /etc/passwd BEGIN{} /正册匹配即执行后门大括号/{} END{} my.awk文件。前后块,各执行一次。中间则一行执行一次。正则部分,匹配成功,就那个执行{}。

33. 图形话工具: dialog gdialog

分享到:
评论

相关推荐

    shell 脚本编程 - v1.11

    前言11第 1 章第 1 章shell 学习第一天shell 学习第一天77入门 8第 2 章第 2 章shell 学习第二天shell 学习第二天10第 3

    Shell脚本专家指南

    24.7 确定倒数第二个域 24.8 给awk传送变量 24.9 在一定条件下使用给awk传送的变量 24.10 显示域的范围(主要方法) 24.11 显示域的范围(备选方法) 24.12 使用awk确定串的长度 24.13 使用expr确定串的长度 24.14 使用...

    Advanced Bash-Scripting Guide <>

    第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量赋值 4.3. Bash 变量是不分类型的 4.4. 特殊的变量类型 5. 引用(翻译的可能有问题,特指引号) 5.1. 引用变量 5.2. 转义(\) 6. 退出和退出...

    Linux高级bash编程

    第二部分. 基本 3. 特殊字符 4. 变量和参数的介绍 4.1. 变量替换 4.2. 变量赋值 4.3. Bash变量是不分类型的 4.4. 特殊的变量类型 5. 引用(翻译的可能有问题,特指引号) 5.1. 引用变量 5.2. 转义(\) 6....

    编程新手真言......

    12.2 第二天:需求分析 208 第13章 设计(领域分析与抽象) 210 13.1 原语设计 210 13.2 了解Yake 216 13.3 GVWL1.0开发 222 13.4 范型设计与实作 223 第14章 编码 224 14.1 原语设计 224 14.2 实现《梦想与财富》 ...

    hadoop段海涛老师八天实战视频

    第二天 hdfs的原理和使用操作、编程 01-NN元数据管理机制.avi 02-NN工作机制2.avi 03-DN工作原理.avi 04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.avi 06-hadoop中的RPC框架实现机制.avi 07-...

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    第二天 hdfs的原理和使用操作、编程 01-NN元数据管理机制.avi 02-NN工作机制2.avi 03-DN工作原理.avi 04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.av i 06-hadoop中的RPC框架实现机制.avi 07-...

    bssdtk:Bash Shell 软件开发工具包

    请注意,这是我的脚本工具的第二个化身,并非所有先前的东西都已移植到此工具包中。 我只是还没有接触到那些东西。 当我有时间时,我确实打算引入多线程和其他尚未包含的部分。 然而,像 XML 解析这样的东西太慢了...

    入门学习Linux常用必会60个命令实例详解doc/txt

    例如,用户登录后,按一下“Alt+ F2”键,用户就可以看到上面出现的“login:”提示符,说明用户看到了第二个虚拟控制台。然后只需按“Alt+ F1”键,就可以回到第一个虚拟控制台。一个新安装的Linux系统允许用户使用...

    易语言程序免安装版下载

    操作系统界面功能支持库(shell.fne)中的“执行()”命令增加一个参数“窗口显示方式”,作用与核心库“运行()”命令的同名参数一致。 6. 数据库操作支持库增加读写长整数字段的功能,但受限于系统接口暂不能读写...

    linux大作业报告

    7、设计一个shell程序,在每月第一天备份并压缩/etc目录的所有内容,存放在/root/bak目录里,且文件名为如下形式yymmdd_etc,yy为年,mm为月,dd为日。 8、判断当前工作目录下所有的文件类型,如果是目录显示目录名...

    程序员为什么还要刷题-helloworld-with-my-son:和儿子一起学习编程(和python)的日记

    第二版:儿童和其他初学者的计算机编程”(第二版)。 沃伦和卡特是一对父子! (沃伦的妻子和卡特的妈妈帕特里夏是他们写这本书的一个重要原因)。 所以,我们开始关注这本书。 已安装 Python 和 Idle(Python ...

    Linux期末考试(题多 有点难度)

    (2)第二种方法: 用户先在自己目录下新建文件file,文件内容如下: 0 * * sun cp –r /user/backup /tmp 然后执行 crontab file 使生效。 8.设计一个Shell程序,在/userdata目录下建立50个目录,即user1~user...

    SQL21日自学通

    第二天查询— — SELECT 语句的使用 30 目标 30 背景 30 一般的语法规则 30 你的第一个查询 33 总结 37 问与答 38 校练场 38 练习 39 第三天表达式条件语句与运算 40 第四天函数对数据的进一步处理 60 目标 60 汇总...

    unix实验报告.doc

    科 技 学 院 实验报告 ( 2014-- 2015年度第1学期) 名 称: UNIX/LINUX体系及编程 院 系: 信息工程系 班 级: 学 号: 学生姓名: 指导教师: 姜丽梅 设计周数: 3 成 绩: 日期:2014年 12 月10日 任 务 书 一、 ...

    2018 猎豹网校 教程大全 资源难找赶紧保存吧

    21天学通C++(第六版)[MP4] 1126 Qt基础课程[MP4] 1126 C Primer Plus[MP4] 1125 易语言中文编程 快速入门到精通[MP4] 1125 安卓 Android 基础教程[MP4] 1125 Windows程序设计 中级课程[MP4] 1125 Windows程序...

    计算机应用技术(实用手册)

    这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二组设备是指主板上的第一、第二根IDE数据线,一般来说靠近芯片的是第一组IDE设备,而主设备、从设备是指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...

    C/C++程序员面试指南.杨国祥(带详细书签).pdf

    第二篇 C/C++面试题 第3章 C/C++程序基础 3.1 基本概念 面试题1:什么是C语言语句 面试题2:变量的声明和定义有什么区别 面试题3:下列字符中,哪些不是C语言关键字 面试题4:下列变量定义中,哪些是合法的 面试题5...

    神盾加密解密教程(一)PHP变量可用字符

    第二个字符开始允许 数字,字母,_ 好了,差不多就是这样了,但是这不是我们要说的重点。今天我们说说 PHP 变量的可用字符,不仅仅是 数字,字母,_ 哦。 前几天QQ上一朋友发我一个shell,是加密过的,通篇乱码,...

    易语言 茶凉专用模块

    本模块可以编程更简单,仅仅用核心支持库编写。 @备注: 官方论坛:http://bbs.clrje.cn/ 官方QQ群:92716369 ------------------------ -------------------------- ------------------------------ .版本 2 .子...

Global site tag (gtag.js) - Google Analytics