shell内置变量命令:echo、eval、exec、export、read、shift
bash Shell内置变量命令
bash Shell包含一些内置命令。这些内置命令在目录列表里是看不见的,它们由Shell本身提供。常用的内部命令有:echo、eval、exec、export、read、shift。下面简单介绍几个最常用的内置命令的格式和功能
1.echo在屏幕上输出信息
命令格式:echo args #<==可以是字符串和变量的组合。功能说明:将echo命令后面args指定的字符串及变量等显示到标准输出。
echo参数选项 | 说明 |
---|---|
-n | 不换行输出内容 |
-e | 解析转义字符 |
转义字符 | \n -- 换行 \r -- 回车 \t -- 制表符(tab) \b -- 退格 \v -- 纵向制表符 |
- echo的参数应用实例:
[root@zabbix ~]# echo oldboy;echo oldgirl
oldboy
oldgirl
[root@zabbix ~]# echo -n oldboy;echo oldgirl
oldboyoldgirl -- -n参数不换行输出
[root@zabbix ~]# echo "oldboy\toldgirl\noldboy\toldgirl"
oldboy\toldgirl\noldboy\toldgirl -- 没有-e参数,不能解析转义字符
[root@zabbix ~]# echo -e "oldboy\toldgirl\noldboy\toldgirl"
oldboy oldgirl
oldboy oldgirl -- -e参数解析转义字符
[root@zabbix ~]# printf "oldboy\toldgirl\noldboy\toldgirl\n"
oldboy oldgirl
oldboy oldgirl -- echo -e 等价于printf
2.eval
命令格式:eval args
功能:当Shell程序执行到eval语句时,Shell读入参数args,并将它们组合成一个新的命令,然后执行。
- set和eval命令的使用(含特殊位置变量用法)方法
[root@zabbix ~]# cat eval.sh
echo $1 $2 -- 打印输出第一第二个参数
echo $# -- 打印输出参数个数
eval "echo \$$#" -- 二次解析"echo $2"为一个命令,输出结果
[root@zabbix ~]# sh eval.sh arg1 arg2
arg1 arg2
2
arg2
3.exec
命令格式:exec命令参数
功能:exec命令能够在不创建新的子进程的前提下,转去执行指定的命令,当指定的命令执行完毕后,该进程(也就是最初的Shell)就终止了,示例如下:
[root@zabbix ~]# seq 5 > /tmp/tmp.log
[root@zabbix ~]# cat exec.sh
exec < /tmp/tmp.log -- 读取log内容
while read line --利用read一行行读取
do
echo "this is the $line line." -- 打印输出
done
echo ok
[root@zabbix ~]# sh exec.sh
this is the 1 line.
this is the 2 line.
this is the 3 line.
this is the 4 line.
this is the 5 line.
ok
[root@zabbix ~]#
4. read
待补充
5.shift
待补充
作者:moox
出处:http://www.cnblogs.com/moox/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。