围绕以下几点展开学习:

1.什么是shell的嵌入命令?

2.为什么使用shell?

3.怎样使用shell嵌入命令?

1.什么是shell的嵌入命令:

  ♦这些命令是在实际的Bourne shell里创建而不是存在于/bin或usr/bin目录里。嵌入命令比系统里的相同命令要快。

2.为什么使用shell?

  ♦shell脚本在处理自动循环或大的任务方面可节省大量的时间,且功能强大。如果你有处理一个任务的命令清单,不得不一个一个敲进去,然后观察输出结果,再决定它是否正确,如果正确,再继续下一个任务,否则再回到清单一步步观察。一个任务可能是将文件分类、向文件插入文本、迁移文件、从文件中删除行、清除系统过期文件、以及系统一般的管理维护工作等等。创建一个脚本,在使用一系列系统命令的同时,可以使用变量、条件、算术和循环快速创建脚本以完成相应工作。这比在命令行下一个个敲入要节省大量的工作时间shell 脚本可以在行命令中接收信息,并使用它作为另一个命令的输入。

3.怎样使用shell嵌入命令?

  ♦shell嵌入命令:

: 空,永远返回为true
. 从当前shell中执行操作
break 退出for、while、until或case语句
cd 改变到当前目录
continue 执行循环的下一步
echo 反馈信息到标准输出
eval 读取参数,执行结果命令
exec 执行命令,但不在当前shell
exit 退出当前shell
export 导出变量,使当前shell可利用它
pwd 显示当前目录
read 从标准输入读取一行文本
readonly 使变量只读
return 退出函数并带有返回值
set 控制各种参数到标准输出的显示
shift 命令行参数向左偏移一个
test 评估条件表达式
times 显示shell运行过程的用户和系统时间。第一行给出shell消耗时间,第二行给出运行命令消耗的时间。
trap 当捕获信号时运行指定命令
ulimit 显示或设置shell资源
umask 显示或设置缺省文件创建模式
unset 从shell内存中删除变量或函数
wait 命令等待直到一个用户子进程完成,可以在wait命令中指定进程I D号。如果并未指定,等待直到子进程运行完毕
type  使用type查询命令是否仍驻留系统及命令类型

♦: 空,永远返回为true

[root@localhost ~]# :
[root@localhost ~]# echo $?#获取上一步的执行结果
0

♦. 从当前shell中执行操作

[root@localhost ~]# ./liqiang.sh
hollo
hollo
[root@localhost ~]#

♦set 控制各种参数到标准输出的显示

  在此文章进行详解。

♦times 显示shell运行过程的用户和系统时间。第一行给出shell消耗时间,第二行给出运行命令消耗的时间。

[root@localhost ~]# ./liqiang.sh
hollo
hollo
[root@localhost ~]# times
0m0.028s 0m0.019s#shell脚本消耗时间
0m0.101s 0m0.071s#运行命令消耗时间
[root@localhost ~]#

♦type  使用type查询命令是否仍驻留系统及命令类型,type打印命令名是否有效及该命令在系统的位置。

[root@localhost ~]# type a
-bash: type: a: not found
[root@localhost ~]# type pwd
pwd is a shell builtin
[root@localhost ~]# type liqiang.sh
-bash: type: liqiang.sh: not found
[root@localhost ~]# type hollo
-bash: type: hollo: not found
[root@localhost ~]#

wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号"%"。

  1.语法:

wait(参数)

#eg:wait 23   or  wait %1

  2.参数:♦进程或作业标示:指定进程号或者作业号。

  3.实例:♦使用命令wait等待作业号为1的作业完成后再返回,输入如下命令:

wait %1       #等待作业号为3的作业完成

注意:如果wait后面不加参数的话表示等待wait前面的语句执行完了之后在执行wait下面的语句

#!/bin/sh
echo “1”
sleep 5&
echo “3”
echo “4”
wait #会等待wait所在bash上的所有子进程的执行结束,再执行echo "5"
echo ""

例子:wait $!

sleep 10 &
sleep 5$
wait $!#$!表示上一个进程号,wait等待一个子进程等待5秒后退出

目前就这么多了,以后遇到了再做补充。

shell的嵌入命令大全的更多相关文章

  1. 最全的linux命令大全,shell运维手册

    shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file ...

  2. redis shell命令大全

    redis shell命令大全(转自http://blog.mkfree.com/posts/5105432f975ad0eb7d135964) 作者:oyhk   2013-1-28 3:11:35 ...

  3. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...

  4. Windows常用shell命令大全

    Windows常用shell命令大全 基于鼠标操作的后果就是OS界面外观发生改变, 就得多花学习成本.更主要的是基于界面引导Path与命令行直达速度是难以比拟的.另外Geek很大一部分是键盘控,而非鼠 ...

  5. Windows常用shell命令大全(转)

    [Windows常用shell命令大全] 基于鼠标操作的后果就是OS界面外观发生改变, 就得多花学习成本.更主要的是基于界面引导Path与命令行直达速度是难以比拟的.另外Geek很大一部分是键盘控,而 ...

  6. tasker支持的shell 命令大全

    参考 http://www.notenoughtech.com/tasker/tasker-run-shell-commands/   罗列所有系统配置项 settings list system s ...

  7. windows 常用的shell(cmd.exe)命令大全

    Windows常用shell命令大全(转) [Windows常用shell命令大全] 基于鼠标操作的后果就是OS界面外观发生改变, 就得多花学习成本.更主要的是基于界面引导Path与命令行直达速度是难 ...

  8. Shell脚本与vi编辑器:vi启动与退出、工作模式、命令大全

    Vi简介 Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序. Vi不是排版程序,只是一个纯粹的文本编辑程序. Vi是全屏幕文本编辑器,它没有菜单,只有命令. Vi不是基于窗口的,所以, ...

  9. shell命令大全笔记

    ## -print 将匹配的文件输出到标准输出## -exec 将匹配的文件执行该参数所给出的shell命令## -ok 将匹配的文件执行该参数所给出的shell命令,每次执行命令有提示 #----- ...

随机推荐

  1. Day20 Ajax

    Ajax准备知识:json 什么是json? 定义: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式.它基于 ECMAScript (w ...

  2. python3学习笔记3---引用http://python3-cookbook.readthedocs.io/zh_CN/latest/

    2018-03-01数据结构和算法(3) 1.11 命名切片 假定你有一段代码要从一个记录字符串中几个固定位置提取出特定的数据字段(比如文件或类似格式): ###### 012345678901234 ...

  3. ASP.NET Core Api网关Ocelot的中文文档

    架构图 入门 不支持 配置 路由 请求聚合 GraphQL 服务发现 微服务ServiceFabric 认证 授权 Websockets 管理 流量控制 缓存 QoS服务质量 转换Headers 转换 ...

  4. Ubuntu 下命令安装 ZooKeeper

    先去 http://mirrors.hust.edu.cn/apache/zookeeper/ 查看自己想要下载的版本 使用 wget 命令去下载 wget http://mirrors.hust.e ...

  5. JSF基础

    JSF基础 1)JSF(JavaServer Faces)一种基于Java的Web应用的用户界面软件框架. 旨在降低web应用开发难度.减轻开发人员编写和维护web应用的负担. 一个基于JSF框架构建 ...

  6. UML类图10分钟快速入门 - From 圣杰

    虚线箭头指向依赖: 实线箭头指向关联: 虚线三角指向接口: 实线三角指向父类: 空心菱形能分离而独立存在,是聚合: 实心菱形精密关联不可分,是组合: 原文作者:圣杰 原文地址:http://www.j ...

  7. 关于office在卸载了某一应用之后无法试图使用的功能所在的网络位置

    我出现这个问题是在卸载了某一个微软的办公软件之后,所有的办公软件都会产生这个问题. 处理的方法是将之前的安装包解压,然后找到所出现的msi文件,点击确定就ok了. 所以说,安装文件最好还是放在一个地方 ...

  8. Collection、List、Set集合概括

    1.Collection是一个接口,定义了集合相关的操作方法,其有两个子接口List和Set. 2.List和Set的区别    List是有序的可重复集合,Set是无序的不可重复集合. 3.集合持有 ...

  9. 关于内核转储(core dump)的设置方法

    原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只 ...

  10. Activity的运行过程

    今天看到了这个关于Activity的过程这个方面的知识,之前我其实也是做过安卓项目的,也是有安卓开发的一定经验的,但是我发现之前似乎是知其然,而不知其所以然,之前来说只知道activity里的onCr ...