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 ...
随机推荐
- Django 四——ModelForm用法
内容概要: 1.新增数据库表中数据 2.更新数据库表中数据 Django的ModelForm Django中内置了Form和Model两个类,有时候页面的表单form类与Model类是一一对应,因此分 ...
- 【Search In Rotated Sorted Array】cpp
题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...
- 快速获取Android应用包名和Activity名
一.获取包名 方法1: 先说明一下这里讲的方法是通用的,而网上其他方法获取PackageName不通用(因为他是建立在root的基础上的,我不敢保证你的设备已经root). ①在android设备上点 ...
- backpropagation算法示例
backpropagation算法示例 下面举个例子,假设在某个mini-batch的有样本X和标签Y,其中\(X\in R^{m\times 2}, Y\in R^{m\times 1}\),现在有 ...
- JavaScript: 理解对象
ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.” 严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性或者方法都有一个名字,而每个名字都映射到一个值 ...
- 基数排序(java实现)
基数排序 就是先比较数组中元素的个位数,排序得到新的数组,然后比较新的数组中的十位数,排序得到新数组,然后再对最新得到的数组比较百位数.......依次循环 比如{82 ,31 ,29 ,71, 7 ...
- nyoj 题目5 Binary String Matching
Binary String Matching 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Given two strings A and B, whose alp ...
- SCU 4438 Censor(哈希+模拟栈)
Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text \(p\). He ...
- [ZJOI2014][bzoj3527]力 [FFT]
题面 传送门 思路 把要求的公式列出来: $E_i=\frac{F_i}{q_i}=\sum_{j=1}^i\frac{q_j}{\left(i-j\right)^2}-\sum_{j=i+1}^n\ ...
- uoj 131/bzoj 4199 [NOI2015]品酒大会 后缀树+树d
题目大意 见uoj131 分析 题目的提示还是很明显的 \(r\)相似就就代表了\(0...r-1\)相似 建出后缀树我们能dfs算出答案 再后缀和更新一下即可 注意 细节挺多的,但数据很良心 不然我 ...