欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell脚本不换行刷新数据

程序员文章站 2022-06-20 16:19:40
...

#!/bin/bash  
 
while [ 1 ] 
do 
    a=$(ifconfig eth0 | grep 'RX pac' | awk '{print $2}' | awk -F: '{print $NF}') 
    echo -ne "$a\r"  #不换行刷新数据  
done 
echo

参 数:-n 不要在最后自动换行
  -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:
  \a 发出警告声;
  \b 删除前一个字符;
  \c 最后不加上换行符号;
  \f 换行但光标仍旧停留在原来的位置;
  \n 换行且光标移至行首;
  \r 光标移至行首,但不换行;
  \t 插入tab;
  \v 与\f相同;
  \\ 插入\字符;
  \nnn 插入nnn(八进制)所代表的ASCII字符;
  --help 显示帮助
  --version 显示版本信息
  每一个shell支持的echo指令可能都不太相同。
  -n 不输出最后的\n
  -e解释转义字符
  -E不解释转义字符


ash命令解释程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由shell本身提供。echo是其中之一。

命令格式:echo arg
功能:在屏幕上打印出由arg指定的字符串。

另外,还可以用echo实现更复杂的输出格式控制:
1、显示转义字符
  echo "\"It is a test\""
结果将是: "It is a test"
同样,双引号也可以省略

2、显示变量
  read name (输入OK)
  echo "$name It is a test"
结果将是: OK It is a test
同样双引号也可以省略
如果变量与其它字符相连的话,需做如下处理:
  read mouth (输入8)
  echo "${mouth}-1-2009"
结果将是: 8-1-2009

3、显示换行
  echo "OK!\n"
  echo "It it a test"

4、显示不换行
  echo "OK!\c"
  echo "It is a test"

5、显示结果定向至文件
  echo "It is a test" > myfile

6、原样输出字符串,不进行转义或取变量(用单引号)
  echo '$name\"'

7、显示命令执行结果
  echo `date`
结果将显示当前日期

从上面可看出,双引号可有可无;单引号主要用在原样输出中。