bash Shell内置变量命令
bash Shell包含一些内置命令。这些内置命令在目录列表里是看不见的,它们由Shell本身提供。常用的内部命令有:echo、eval、exec、export、read、shift。下面简单介绍几个最常用的内置命令的格式和功能
1.echo在屏幕上输出信息
命令格式:echo args #<==可以是字符串和变量的组合。功能说明:将echo命令后面args指定的字符串及变量等显示到标准输出。
echo参数选项 | 说明 |
---|---|
-n | 不换行输出内容 |
-e | 解析转义字符 |
转义字符 |
-- 换行 -- 回车 -- 制表符(tab) -- 退格 v -- 纵向制表符 |
- echo的参数应用实例:
[root@zabbix ~]# echo oldboy;echo oldgirl
oldboy
oldgirl
[root@zabbix ~]# echo -n oldboy;echo oldgirl
oldboyoldgirl -- -n参数不换行输出
[root@zabbix ~]# echo "oldboy oldgirl
oldboy oldgirl"
oldboy oldgirl
oldboy oldgirl -- 没有-e参数,不能解析转义字符
[root@zabbix ~]# echo -e "oldboy oldgirl
oldboy oldgirl"
oldboy oldgirl
oldboy oldgirl -- -e参数解析转义字符
[root@zabbix ~]# printf "oldboy oldgirl
oldboy oldgirl
"
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
待补充