围绕以下几点展开学习:

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. Java学习不走弯路教程(7.Eclipse环境搭建)

    7.Eclipse环境搭建 在前几章,我们熟悉了DOS环境下编译和运行Java程序,对于大规模的程序编写,开发工具是必不可少的.Java的开发工具比较常用的是Eclipse.在接下来的教程中,我们将基 ...

  2. 从前端开发看HTTP协议的应用

    一.Chrome Developer Network Tab Cheome Developer作为现在前端开发者最常用的开发调试工具,其具有前端可以涉及到的各方面的强大功能,为我们的开发和定位问题提供 ...

  3. Artwork

    A template for an artwork is a white grid of n × m squares. The artwork will be created by painting  ...

  4. 爬虫之proxy(代理)

    proxy简介 proxy即为代理,我们爬虫的时候肯定会有频繁访问某一网站的情况,这个时候有些服务器会识别到我们是非正常访问,就会把我们的IP禁掉,这个时候就需要用代理了. 就好比现实生活中,我需要向 ...

  5. golang自定义路由控制实现(一)

        由于本人之前一直是Java Coder,在Java web开发中其实大家都很依赖框架,所以当在学习Golang的时候,自己便想着在Go开发中脱离框架,自己动手造框架来练习.通过学习借鉴Java ...

  6. JavaBean转JSON方式

  7. 高性能网络通信框架 HP-Socket

      HP-Socket 详细介绍 HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和Agent组件,广泛适用于各种不同应用场景的 TCP/UDP/ ...

  8. mysql由于权限问题看不到用户数据库

    一.登录数据库 [root@localhost ~]# mysql -u root mysql > show databases; +--------------------+| Databas ...

  9. 节流throttle和防抖debounce

    underscore.js提供了很多很有用的函数,今天想说说其中的两个.这两个函数都用于限制函数的执行. debounce 在解释这个函数前,我们先从一个例子看下这个函数的使用场景.假设我们网站有个搜 ...

  10. PAT1130:Infix Expression

    1130. Infix Expression (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Give ...