shell脚本不换行刷新数据

阅读更多

#!/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`
结果将显示当前日期

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

你可能感兴趣的:(shell脚本不换行刷新数据)