《Linux Shell脚本攻略》学习(二)

LinuxShell脚本攻略》学习(二)

上节学习到了文件描述符的相关内容。这节我们会以alias命令作为开头,继续我们的学习故事。

1.使用别名

创建别名的命令行是:

$aliasnew_command=commandsequence

我们可以为安装命令创建一个别名:

$aliasinstall=sudoapt-get install

值得注意的是,alias命令只是暂时的,一旦终端关闭了,所有设置的别名就失效了,所以我们想要别名永久有用,就得把命令行写到~/.bashrc中,因为每当一个shell进程生成的时候,都会执行~/.bashrc中的命令。

我们还可以创建别名,来执行多条命令,如果别名的名字与系统原有别名相同,则原有别名将会被新的取代。

$aliasrm=cp$@ ~/backup;rm$@

这条指令的意思是将原始文件备份都backup文件夹,然后移除该文件。

字符\对命令实施转义,使我们可以执行原本的命令,而不是这些命令的别名替身。在不信任的环境下执行特权命令的时候,通过在命令前加上\符号,可以有效提高安全性。因为攻击者可能已经利用别名将某些特权命令替换成了一些别有用心的指令。

2.获取终端信息

tputstty是终端处理工具。

  1. $tputcols #获取终端列数

  2. $tputlines #获取终端行数

  3. $tputlongname #打印出当前终端名

  4. $tputcup 100 100 #将光标移到方位(100,100)处


  1. $tputsetb number #number0~7,代表各种颜色,设置背景色

(Ps:我们可以来回顾一下之前设置背景还有另一种方法,命令行如下

$echo-e\e[1;42mthisisbluebackground\e[0m)


  1. $tputsetf number #设置前景色,也就是字体的颜色

ps:之前另外一种设置字体颜色的方法,命令行如下

$echo-e\e[1;34mthisisbluetext\e[0m

两种方法都不能在关闭终端之后,仍然保持该设置。


$tputbold #加粗字体


Stty的使用:在输入密码的时候,不将输入的内容显示出来,脚本文件如下,大家可以动手尝试一下:

#!/bin/bash

echo-eEnterthepassword:

stty-echo #禁止将输出发送到终端

readpassword

sttyecho #允许将输出发送到终端

echo$password #打印密码

echoPassword read


3.获取,设置日期和延时

$date#这是一条获取时间的基本指令,简单掌握就好。书中还有一些打印纪元时之类的指令,以及日期格式字符串列表就不一一赘述,下面将重点阐述我觉得很重要的延时产生命令。

编写以循环方式运行的脚本,设置时间间隔是必不可少的,所以在脚本中生成延时是必要技能。

在脚本中推迟一段时间,可以用:

$sleepno_of_seconds

下面脚本使用tputsleep0开始计数到40

#!/bin/bash

echo-n count: #echo -n 表示打印完不换行

tputsc

   

count=0;

whileture;

do

If[ $count -lt 40 ] ;

thenlet count++;

sleep1;

tputrc

tputed

echo-n $count

elseexit 0;

fi

done


重点注意是,If[ $count -lt 40 ] ;这条语句,if[之间要有空格,不然程序会报错。





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值