別名就是一種便捷方式,能夠爲用戶省去輸入一長串命令序列的麻煩。下面咱們會看到如何
使用 alias 命令建立別名。
直接使用alias就是顯示當前有哪些別名,不然就是建立別名node
[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下shell
[root@dns-node2 ~]# echo "alias mycmd='ls /root'" >>/root/.bashrc
想要破解別名的話,就使用\來轉義
舉個例子:bash
[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 是兩款不錯的工具ide
1.獲取終端的行數和列數:工具
tput cols tput lines
2.打印出當前的終端名:命令行
tput longname
3.將光標移動到座標(100,100)處:code
tput cup 100 100
4.設置終端背景色:dns
tput setb n
其中, n 能夠在0到7之間取值。
5.設置終端前景色:cmd
tput setf n
其中, n 能夠在0到7之間取值。file
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