围绕以下几点展开学习:

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 "5"

例子:wait $!

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

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

转载于:https://www.cnblogs.com/insane-Mr-Li/p/9096038.html

shell的嵌入命令大全相关推荐

  1. Windows常用shell命令大全

    From: http://blog.csdn.net/yunzhongfeiniao/article/details/6564577 基于鼠标操作的后果就是OS界面外观发生改变,就得多花学习成本.更主 ...

  2. EasyClick adb shell命令大全

    EasyClick adb.shell命令大全目录 EasyClick adb.shell命令大全 ADB包安装步骤 使用教程 ADB高级命令 Android 常用的Linux命令 Android a ...

  3. adb 输入回车命令_Android超级终端(Adb Shell)常用命令、命令大全-持续更新 | 何连超的博客小站...

    Android超级终端(Adb Shell)常用命令.命令大全-持续更新 超级终端(手机端操作)与AdbShell(电脑端操作)使用的Shell命令(即Linux shell命令,类似Dos命令)是相 ...

  4. ubuntu shell命令大全

    原文地址:ubuntu shell命令大全 作者:sun5411 转自:http://blog.chinaunix.net/uid-22330495-id-141752.html 前言 下面的命令大都 ...

  5. ubuntu退出shell终端命令_ubuntu shell 命令大全

    下面的命令大都需要在 控制台 / 终端 / shell 下输入. 控制台, 终端, 和 shell 意味着同样一件事 -  一个命令行界面, 他可以用来控制系统. 打开一个控制台: 应用程序 --&g ...

  6. Android ADB Shell命令大全

    原文链接: http://blog.csdn.net/zkdemon/article/details/7033800 apktool反编译工具:http://download.csdn.net/det ...

  7. linux命令 final,shell 命令大全先贴一下FinalShell程序的官方网

    shell 命令大全 如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件.实际上,SSH 是一个网络协议, ...

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

    1 文件{          ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt     touch file              # 创建空白文件 ...

  9. HDFS系列(3) | HDFS的Shell常用命令大全

    此次更新的的博文是关于HDFS的shell的常用命令,希望大家能够喜欢 目录 一. 基本语法 二. 命令大全 三. 常用命令实操 1. 常用命令及其作用对比表 2. 常用命令的实际操作 一. 基本语法 ...

最新文章

  1. Computer Vision Tasks
  2. noj Nightmare
  3. php 代码修改后 重新实例化_从匿名函数到PHP设计模式之容器模式
  4. 多线程编程之四——线程的同步
  5. c++primer 4th edithon 第324页的一个练习题(9.43和9.44)
  6. RabbitMq入门以及使用教程
  7. 在对的时间 遇见对的人 是一种幸福
  8. android studio 自动生成对象,在Android Studio中快速导入可绘制对象的方法?
  9. 什么是云存储 API
  10. 定了!这 35 所高校将设人工智能本科专业!
  11. C语言学习-翁凯(第四章笔记)
  12. it培训机构包就业是啥套路?it培训骗局,it培训班学出来有用吗?
  13. PRSice-2软件安装教程
  14. ECMAScript6 Proxy和Reflect 对象操作拦截以及自定义
  15. 服务器win2003系统升级,Windows server 2003 升级 到2008 R2
  16. C语言中文件包含#include使用尖括号和双引号的区别
  17. 广度优先搜索(BFS)最短路径输出表示(三种方法)
  18. 中兴服务器 raid,超微X9DRH-7F 组装存储服务器RAID5实测
  19. 诺奖终属黑洞理论-IT与物理的相互成就
  20. 开源一款娱乐的qq机器人-QQRobot

热门文章

  1. HDU 1047 Integer Inquiry( 高精度加法水 )
  2. 一个浙江商人立下的22条军规(转载)
  3. Java 线程池之FixedThreadPool(Java代码实战-003)
  4. Silverlight实例教程 - Out of Browser开篇
  5. 【总结】使用Json4s实现Scala对象转Json
  6. iOS 消息推送原理及实现总结
  7. SQL 调优专题总结
  8. osc上一位哥们的 php编译参数
  9. 使用fswatch工具进行golang的热编译
  10. Java程序员进阶——Spring依赖注入原理分析