返回顶部

zhangfd

个人博客,仅供学习使用

导航

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

待补充


posted on 2020-05-04 17:17  zhangfd  阅读(1943)  评论(0编辑  收藏  举报