小试牛刀-1.9获取终端信息1.10获取、设置日期和延时

网友投稿 620 2022-09-26

小试牛刀-1.9获取终端信息1.10获取、设置日期和延时

小试牛刀-1.9获取终端信息1.10获取、设置日期和延时

tput和stty是两款终端处理工具

1)获取终端的行数和列数

tput cols

tput lines

2)打印出当前终端名

tput longname

3)将光标移动到坐标(100,100)处

tput cup 100 100

4)设置终端背景颜色

tput setb n (n可以在0到7之间取值)

5)设置文本景色

tput setf n)

n可以是0到7之间取值

6)设置文本样式为粗体

tput bold

7)设置下划线的起止

tput smul

tput rmul

8)删除从当前光标位置到行尾的所有内容

tput ed

9)在输入密码时,不应该显示输入内容,实现:

#!/bin/sh

#Filename:passwd.sh

echo -e "Enter password"

stty -echo

read passwd

stty echo

echo

echo $password read

选项-echo禁止将输出发送到终端,而选项echo则允许发送输出。

1.10获取、设置日期和延时

许多应用程序需要以不同的格式打印日期、设置日期和时间、根据日期和时间执行操作。延时通常用于在程序执行过程中提供一段等待时间。

在类unix系统中,日期被存储成一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起所流逝的秒数;这种计时方式称为纪元时或unix时间。

1)读取日期

$ date

2)打印纪元时

$ date +%s

如何将日期串中得到对应的纪元时:

$ date --date "Thu Nov 18 08:07:21 IST 2010" +%s

选项--date用于提供日期串作为输入。但我们可以使用任意的日期格式化选项来打印输出。将日期串作为输入能够用来获知给定的日期是星期几。

$ date --date "Jan 20 2001" +%A

Saturday

3)用格式串结合+作为date命令的参数,可以按照你的选择打印出对应格式的日期。

$ date "+%d %B %Y"

20 May 2010

4)设置日期和时间

date -s "格式化的日期字符串"

eg:date -s "21 June 2009 11:01:22"

5)有时候需要检查一串命令所花费的时间

#!/bin/bash

#Filename:time_take.sh

start=$(date +%s)

commands;

statements;

end=$(date+%s)

difference=$((end-start))

echo Time taken to execute commands is $difference seconds

另一种方法是使用time来得到执行脚本所花费的时间

星期:  %a(Sat);%A(Saturday)

月:%b(Nov);%B(November)

日:%d(31)

固定格式日期(mm/dd/yy):%D(10/18/10)

年:%y(10);%Y(2010)

小时:%I或者%H(08)

分钟:%M(33)

秒:%S(10)

纳秒:%N(78978687686)

UNIX纪元时(一秒为单位):%s(1290049486)

补充内容--延时

为了在脚本中生成延时,可以使用sleep: $sleep no_of_seconds

下面脚本就使用tput和sleep从0开始计数到40

#!/bin/bash#文件名-sleep.shecho -n Count:tput sccount=0;while true;do  if [ $count -lt 40 ];  then    let count++;    sleep 1;    tput rc    tput ed    echo -n $count    else exit 0;  fidone

在上面的例子中,变量count初始化为0,随后每循环一次便增加1.echo语句打印出count的值。我们用tput sc存储光标位置。在每次循环中,通过恢复之前存储的光标位置,在终端中打印出新的count值。恢复光标位置的命令是tput rc。tput ed清楚从当前光标位置到行尾之间的所有内容,使得旧的count值可以被清楚并写入新值。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:1.15运行命令直至执行成功
下一篇:小试牛刀-1.8使用别名
相关文章

 发表评论

暂时没有评论,来抢沙发吧~