shell实践--shell内嵌指令实现查看上线时间
- zhenxiang@ubuntu:~$ vim mysh.sh
- #!/bin/bash
- echo "this is mysh"
- zhenxiang@ubuntu:~$ vim .bashrc
- alias my='sh ~/mysh.sh '
- zhenxiang@ubuntu:~$ source .bashrc
- zhenxiang@ubuntu:~$ my
- this is mysh
- root@ubuntu:~# vim /etc/bash.bashrc
- alias my='sh /home/zhenxiang/mysh.sh'
重新加载配置文件,执行脚本
- root@ubuntu:~# source /etc/bash.bashrc
- root@ubuntu:~# my
- this is mysh
- zhenxiang@ubuntu:~$ w
- :: up :, users, load average: 0.60, 0.18, 0.10
- USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
- zhenxian tty7 : :04m .31s .43s gnome-
- zhenxian pts/ :0.0 : .00s .34s .01s w
- #注意到了吗命令w 首列仅显示8个字符;zhenxiang 只能显示到zhenxian;
- w | awk 'NR==1 {print $1}'
- 当然用到 whoami 这个命令了
zhenxiang@ubuntu:~$ whoami
zhenxiang
- #!/bin/bash
- who=$(whoami)
- w | awk -v w="$who" '$1==w {print $1 "\t " $2}'
方法二:
- mytest=mmmmm
- awk 'BEGIN{print"'$mytest'"}'
- 因为print除了打印本身数据之外其余均要加双引号,所以在双引号当中加单引号再取变量值就可以得到了;
- echo "this is mysh"
- #w | awk 'NR==1 {print $1}'
- ##############################
- #确定nowtime
- #############################
- nowtime=$(w | awk 'NR==1 {print $1}')
- echo 'nowtime:\t'$nowtime
- ##############################
- #确定使用者
- #############################
- who=$(whoami)
- echo 'l am : \t'$who
- #############################
- #确定所有终端登录时间
- ############################
- #将shell变量传给awk,变成awk的变量
- #w | awk -v w="$(whoami)" 'w==$1 {print $1 "\t" $2 "\t" $3 "\t" $4}'
- #AllLoginTime=$(w | awk -v w=$who 'w==$1 {print $2 "-"$3 }')
- AllLoginTime=$(w | awk -v w=$who 'w==$1 {print $3 }')
- echo 'AllLoginTime:\t'$AllLoginTime
- ############################
- #处理字符串变成分钟数做加减
- ############################
- nowtime_h=$(echo $nowtime | awk 'BEGIN {FS=":"} {print $1}')
- nowtime_m=$(echo $nowtime | awk 'BEGIN{FS=":"}{ print $2}')
- nowtime_hMintes=$((nowtime_h*))
- NowM=$(($nowtime_hMintes+$nowtime_m))
- #echo 'nowtime mintues:\t' $NowM
- #echo 'nowtime_h:\t' $nowtime_h
- #echo 'nowtime_m:\t' $nowtime_m
- #echo 'nowtime_m-:\t' $nowtime_m
- AllLoginTime_h=$(echo $AllLoginTime | awk 'BEGIN {FS=":"}{print $1}')
- AllLoginTime_m=$(echo $AllLoginTime | awk 'BEGIN {FS=":"}{print $2}')
- loginTime_hMintes=$(($AllLoginTime_h*))
- #echo $loginTime_hMintes
- LogM=$(($loginTime_hMintes+$AllLoginTime_m))
- #echo 'login time mintues:\t'$LogM
- #echo 'AllLoginTime_h:\t' $AllLoginTime_h
- #echo 'AllLoginTime_m:\t' $AllLoginTime_m
- echo ''now you have logined $(($NowM-$LogM)) mintues''
shell实践--shell内嵌指令实现查看上线时间的更多相关文章
- 转: angularjs 指令中动态编译的方法(适用于有异步请求的情况) 内嵌指令无效
angular的坑很多 例子: 在directive的link中有一个$http请求,当请求完成后根据返回的值动态做element.append('......');这个操作, 能显示没问题,可问题是 ...
- [Unity3D]Unity3D游戏开发Android内嵌视图Unity查看
---------------------------------------------------------------------------------------------------- ...
- 【转】shell中的内建命令, 函数和外部命令
原文:http://www.cnblogs.com/xkfz007/archive/2011/10/13/2209571.html linux命令有内部命令和外部命令之分.内部命令实际上是shell程 ...
- LinuxShell——内嵌命令
LinuxShell——内嵌命令 摘要:本文主要学习了Shell的常用内嵌命令. alias命令 alias命令可以为指定命令定义一个别名. 基本语法 查看所有别名: alias 设置别名: alia ...
- pdf中内嵌字体问题
在提交论文pdf到IEEE时总要检查字体是否为内嵌的,查看pdf中所有字体及是否内嵌可查看:http://sinme.blog.sohu.com/120043575.html. 具体做法是: 在pdf ...
- [Shell] Backtick vs $() 两种方式内嵌值
使用反撇号(重音符)`command` 和 $(command) 都表示内嵌shell命令. for file in $(ls); do echo $file done for file in `ls ...
- shell实践
shell实践 父子shell 父shell:我们在登录某个虚拟机控制器终端的时候(连接某一个linux虚拟机)时,默认启动的交互式shell,然后等待命令输入. ps命令参数,是否有横杠的参数作用是 ...
- shell中的内建命令, 函数和外部命令
转自shell中的内建命令, 函数和外部命令 Shell识别三种基本命令:内建命令.Shell函数以及外部命令: (1)内建命令就是由Shell本身所执行的命令. 有些命令是由于其必要性才内建的 ...
- Shell脚本之四 内建命令
所谓 Shell 内建命令,就是由 Bash 自身提供的命令,而不是文件系统中的某个可执行文件. 可以使用 type 来确定一个命令是否是内建命令: [root@localhost ~]# type ...
随机推荐
- loj2292 「THUSC 2016」成绩单
ref 我是傻逼,我啥也不会,这是我抄的. #include <iostream> #include <cstring> #include <cstdio> usi ...
- Dataflow编程模型和spark streaming结合
Dataflow编程模型和spark streaming结合 主要介绍一下Dataflow编程模型的基本思想,后面再简单比较一下Spark streaming的编程模型 == 是什么 == 为用户提 ...
- 查看2个Python字典的相同以及不同之处
a = { "x":1, "y":2, "z":3 } b = { "x":1, "w":11, & ...
- 使用anaconda
Please run $ source /opt/anaconda/bin/activate root $ source /opt/anaconda/bin/deactivate root to ...
- idea使用maven逆向mybitis的文件
引用自 http://blog.csdn.net/for_my_life/article/details/51228098 本文介绍一下用Maven工具如何生成Mybatis的代码及映射的文件. 一. ...
- Mybatis通过接口的方式实现增删改查
导入jar包 [mybatis] [oracle] 生成数据库 1.添加Mybatis的配置文件mybatis-config.xml 在src目录下创建一个mybatis-config.xml文件,如 ...
- 爱之箭发射(las)
爱之箭发射(las) 目描述 小海是弓道部的成员,非常擅长射箭(Love Arrow Shoot).今天弓道部的练习是要射一棵树.一棵树是一个nn个点n−1n−1条边的无向图,且这棵树的第ii个点有一 ...
- inner join和left join 、right join 的区别?
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- Java面试题之Integer.valueOf(String s);采用了什么设计模式
Integer.valueOf(String s);//采用了亨元设计模式: 亨元模式: 它是以一种“节约内存,提高性能”为出发点的设计模式,运用共享技术有效的支持大量细粒度对象的复用. 源码解析: ...
- matplotlib pyplot 中文显示问题
import pylab pylab.mpl.rcParams['font.sans-serif'] = ['SimHei'] pylab.mpl.rcParams['axes.unicode_min ...