Shell 脚本攻略: 别名,获取终端、日期信息

目录

 

Aliases

Grabbing information about terminal(获取终端信息)

获取,设置日期和延迟

一些与$相关的符号


Aliases

别名(aliases)相当于给linux这是的快捷键,设置别名之后,用简单的命令名称来代替原本复杂的命令。 

例如工程路径一般相对固定,但又冗长,所以可以使用别名代替。

使用如下命令可以创建一个暂时的别名,该别名在terminal关闭时失效。 将它保存在~/.bashrc  中,可以避免失效。

alias install="sudo apt-get install"

//然后安装程序就可以使用, install pidgin, 实际执行的是 sudo apt-get install pidgin

Grabbing information about terminal(获取终端信息)

tput , stty 用于终端操作的实用程序。

1. 获取行信息:   tput lines

2. 获取列信息:   tput cols        

3. 获取中断名称:tput longname

4. 移动光标到指定坐标(100,100): tput cup 100 100

5. 设置终端背景颜色: tput setb no(no is a avlue from 0 to 7)

6. 设置文本的颜色:   tput setf no(0 - 7)

7. 设置文本字体加粗: tput bold

8. 开始和结束划线使用: tput smul   . tput rmul

9. 删除光标到行尾的文本: tput ed

10. stty(need test to get a deep understand)

#!/bin/sh
#Filename: password.sh
echo -e "Enter password: "
stty -echo
read password
stty echo
echo
echo Password read.


获取,设置日期和延迟

一些应用需要打印不同格式的时间信息,或者设置日期和时间,并根据设置的日期和时间执行操作。 

1. 读取时间: 

$ date

$ Fri May 10 17:51:04 CST 2019

epoch time printed as follows:

$ date +%s

$ 1557481945       (how to use it)

Epoch :

历元的定义是自1970年1月1日子夜符协调世界时(UTC)以来经过的秒数,不包括闰秒。当您需要计算两个日期或时间之间的差值时,历元时间非常有用。您可以找出两个给定时间戳的历元时间,并取历元值之间的差。因此,您可以找出两次日期之间的总秒数。

echo `date -d "-1 month" "+%Y-%m-%d %X"`

2019-04-15 21:48:28   //上个月时间

echo `date +%Y_%m_%d`

2019_05_15   # currently date

日期方面 :

%a : 星期几 (Sun..Sat)

%A : 星期几 (Sunday..Saturday)

%b : 月份 (Jan..Dec)

%B : 月份 (January..December)

%c : 直接显示日期与时间

%d : 日 (01..31)

%D : 直接显示日期 (mm/dd/yy)

%h : 同 %b

%j : 一年中的第几天 (001..366)

%m : 月份 (01..12)

%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)

%w : 一周中的第几天 (0..6)

%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)

%x : 直接显示日期 (mm/dd/yy)

%y : 年份的最后两位数字 (00.99)

%Y : 完整年份 (0000..9999)

时间方面 :

% : 印出

% %n : 下一行

%t : 跳格

%H : 小时(00..23)

%I : 小时(01..12)

%k : 小时(0..23)

%l : 小时(1..12)

%M : 分钟(00..59)

%p : 显示本地 AM 或 PM

%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00..61)

%T : 直接显示时间 (24 小时制)

%X : 相当于 %H:%M:%S

%Z : 显示时区


一些与$相关的符号

https://www.jianshu.com/p/4af01a79c0d4

$? 输出0为正常 非0为异常

$0 输出命令本身 $1-9 为第几个输入参数 $* 所有输入参数 $# 输入参数的个数

$[ ] 计算 但不输出 例如$[ 1+2 ]其实就是3

expr 计算并且输出

 

echo "$SHELL"
/bin/bash

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值