shell的嵌入命令大全

围绕以下几点展开学习:

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秒后退出

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

 

posted @ 2018-05-27 14:41  tooltime  阅读(1536)  评论(0编辑  收藏  举报