zoukankan      html  css  js  c++  java
  • shell基础知识4--别名、采集终端信息

    别名就是一种便捷方式,可以为用户省去输入一长串命令序列的麻烦。下面我们会看到如何
    使用 alias 命令创建别名。
    直接使用alias就是显示当前有哪些别名,否则就是创建别名

    [root@dns-node2 ~]# alias   # 显示别名
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    
    [root@dns-node2 ~]# alias mycmd='ls /root'  # 创建别名
    [root@dns-node2 ~]# mycmd
    anaconda-ks.cfg  Desktop  Documents  Downloads  install.log 
    

    在命令行创建别名是暂时的,一旦关闭当前这个终端,设置过的别名就失效了,为了永久生效,我们需要导入到/etc/profile 或者~/.bashrc下

    [root@dns-node2 ~]# echo "alias mycmd='ls /root'" >>/root/.bashrc
    

    想要破解别名的话,就使用来转义
    举个例子:

    [root@dns-node2 ~]# mycmd
    -bash: mycmd: command not found
    [root@dns-node2 ~]# ls  # 非别名是无效的即使加上
    anaconda-ks.cfg  Desktop  Documents  Downloads	install.log  install.log.syslog  Music	ossec-hids-2.8.3  ossec-hids-2.8.3.tar.gz  Pictures  Public  Templates	Videos
    [root@dns-node2 ~]# ll
    -bash: ll: command not found
    
    

    采集终端信息

    编写命令行shell脚本时,总是免不了处理当前终端的相关信息,比如行数、列数、光标位置、
    遮盖的密码字段等。
    tput 和 stty 是两款不错的工具

    tput

    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.输入密码时,脚本不应该显示输入内容。在下面的例子中,我们将看到如何使用 stty 来
    实现这一需求:

    stty -echo  # 此时隐藏所有的输入
    stty echo   # 显示所有的
    

    9.1.具体参考的例子:

    #!/bin/sh
    #Filename: password.sh
    echo -e "Enter password: "
    #  在读取密码前禁止回显
    stty -echo
    read password
    #  重新允许回显
    stty echo
    echo
    echo Password read
    
    有趣的倒计时
    #!/bin/bash
    #文件名: sleep.sh
    echo 倒计时10秒
    echo 
    tput sc    # 存储光标的位置
    # 循环40秒
    for count in {10..0}
    do
        tput rc   # 恢复之前存储的光标的位置
        tput ed   # 清除从当前光标位置到行尾之间的所有内容,行被清空之后,脚本就可以显示出新的值。
        echo -n "倒计时 $count"
        sleep 1
    done
    
  • 相关阅读:
    ASP中常用的服务器检测源代码
    dicsuzX表结构
    Flash AS3.0 加载外部资源(图片,MP3,SWF)的两种方式
    ASP快速获取远程文件大小的方法
    利用phpmyadmin修改mysql的root密码
    如何注册java程序为windows服务
    NSTimer
    ASP获得上个月、本月、下个月的第一天和最后一天的代码
    采集网页图片代码
    JS控制图片翻转代码,兼容firefox,ie,chrome等浏览器
  • 原文地址:https://www.cnblogs.com/liaojiafa/p/11470411.html
Copyright © 2011-2022 走看看