`
touchinsert
  • 浏览: 1329859 次
  • 性别: 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

    - **第2章 - Shell学习第二天**:可能涉及更复杂的控制结构,如条件语句(if-else)、循环(for, while)等。 - **第3章 - Shell学习第三天**:讲解Shell脚本中的基本元素,比如变量的赋值、函数的定义以及命令别名...

    Linux下的shell编程入门.pdf

    - `$1`, `$2`, ...:表示传递给脚本的第一个、第二个等参数。 - `$#`:表示参数的数量。 - `$*`:表示所有参数列表。 例如,下面的脚本可以显示脚本名称和所有参数: ```bash echo "Program name is $0" echo ...

    LINUX与UNIX SHELL编程指南

    ### Linux与UNIX Shell编程指南知识点概述 #### 第一部分:Shell **第一章:文件安全与权限** - **1.1 文件** - **定义**:Linux/UNIX系统中,一切皆视为文件,包括目录、设备等。 - **1.2 文件类型** - **...

    shell编程初级到精通2-3章总结

    ### Shell 编程初级到精通 2-3 章知识点总结 #### 一、Linux 文件与用户管理 **1. 查看系统信息与文件权限** - `ls -l /etc/sh*`:列出 `/etc` 目录下以 `sh` 开头的所有文件,并以长格式显示。 - `date`:显示...

    拓思爱诺大数据-第二天Hadoop高级编程

    ### 拓思爱诺大数据-第二天Hadoop高级编程 #### 一、课程目标与背景 本课程旨在帮助学员熟练掌握Hadoop Shell的操作方法,并深入理解Hadoop集群中HDPData文件夹的作用及其重要性。通过本课程的学习,学员将能够...

    linux shell 命令, 脚本编程

    #### 第二部分:文本过滤 ##### 第7章:正则表达式介绍 - **7.1 使用句点匹配单字符**:`.`匹配任何单个字符。 - **7.2 在行首以^匹配字符串或字符序列**:`^`匹配行首。 - **7.3 在行尾以$匹配字符串或字符**:`$...

    Linux Shell Programming

    - **第二天**:重点讲解Korn Shell的高级特性、sed和awk的高级应用,以及实战案例分析等。 #### 小结 通过以上内容的学习,可以全面了解Linux环境下Korn Shell编程的相关知识,不仅掌握了基本的编程技能,还能运用...

    SHELL编程题.docx

    ### SHELL编程题知识点解析 #### 1. 打印给定行数的星号 ...- **逆向计算**:通过`while [ $i -gt 1 ]`循环从第二天向前推算,每次更新桃子数量。 - **输出结果**:输出第一天猴子摘的桃子总数。

    LINUX与UNIX shell编程学习基础教程.pdf

    ### Linux与UNIX Shell编程基础知识详解 #### 一、文件安全与权限管理 在Linux与UNIX系统中,了解文件的安全性和权限设置是非常重要的。这不仅关乎数据的安全性,也关系到系统的稳定性和性能。 ##### 1. 文件权限...

    Linux基本命令(2)和Shell编程

    ### Linux基本命令(2)和Shell编程 #### 一、常用命令的进一步巩固 ##### 1. 实验目的 进一步熟悉 `find`、`chmod` 等命令的复杂应用形式;熟悉元字符、重定向符、管道操作符“|”的使用方法。 ##### 2. 实验...

    IBM AU13(中文版)

    ##### 第二天: 文件/目录管理与Shell基础 - **文件/目录的权限** - 权限的概念:用户、组和其他人对文件或目录的读、写、执行权限。 - 权限的设置:如何修改文件或目录的权限。 - **vi编辑器** - 使用vi编辑器的...

    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....

    shell脚本第二天——变量

    在Shell脚本编程中,变量是存储数据的基本单元,它允许我们存储文本、数字或任何其他类型的信息。本文将深入探讨Shell脚本中的变量及其相关的使用规则和技巧。 首先,让我们了解一下变量的定义。在Shell中,变量名...

    shell脚本学习第一天

    以上就是Shell脚本学习的第一天内容,掌握这些基本知识,你就能开始编写简单的Shell脚本来解决日常的系统管理任务。随着技能的提升,你还可以学习更多的高级特性,如条件语句、循环结构、函数定义等,让Shell脚本变...

    Shell_经典实例

    #### 二、Shell脚本实例详解 ##### (一)目录树展示 - `dtree` 该脚本旨在显示指定目录下的文件结构,类似于`tree`命令的功能。其主要步骤包括: 1. **初始化变量**:定义`dir`变量用于存储目标目录,默认为当前...

    嵌入式Linux视频教程全套2011新版-国嵌嵌入式培训下载地址

    - **Shell编程**: 教授如何编写Shell脚本以自动化执行任务。 - **Qcd功能演示**: 展示QCD工具的功能和使用方法。 #### 二、嵌入式Linux应用开发 **2.1 国嵌课程2-嵌入式Linux应用开发班** - **第1天(编程基础...

Global site tag (gtag.js) - Google Analytics