您好,登錄后才能下訂單哦!
小編給大家分享一下shell中重定向、管道和echo 命令的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
shell 中的重定向、管道和 echo 命令
我們看到第一次查找的時候只有 grep mysql 進程存在,在第二次查找的時候一個也沒有。grep -v grep 便是將我們進行查找的進程刪除掉
下來我們來講講 echo 命令。眾所周知,echo 是用來打印的。可是它的一些高級操作,你知道嗎?接下來我們就來講講這個神秘的 echo。
格式:echo [選項][字符,變量....]
選項: -n 不換行輸出,echo 默認是輸出一次換一行; -e 增強,啟用轉移字符解析:\a 響鈴、 \b 退格、 \c 去除尾部的新行、 \n 新的一行、 \r 回車、 \t 水平制表符、 \\ 斜杠、 \0NN 八進制、 \0xHH 十六進制輸出。
舉例:echo -e "welcom to \t new world \n shell \\ programming",我們來看看效果
我們看到在第一個 \t 的時候出現了指標符,在 \n 的時候出現了換行符,\\ 是斜杠。
下來看看怎么輸出有顏色的字符。前景色:十位數的 3 表示,范圍:30-37(3x 表示);背景色:十位數的 4 表示,范圍:40-47(4x 表示);個位數表示色彩:30(黑色)、31(紅色)、32(綠色)、33(×××)、34(藍色)、35(洋紅)、36(青色)、37(白色)。
舉例:echo -e "Network restarting... [\033[32;40m OK \033[0m]",效果如下圖所示
下來我們來看看一個 echo 的實際應用。寫一個腳本:提示用戶輸入一個密碼,并把密碼進行 base64 或 md5 加密,然后將加密后的密碼保存到 /home/aston/test/a.txt 文件中。
步驟:1、提示輸入密碼;2、讀取密碼;3、對密碼進行加密;4、重定向輸入到文件;5、查看密碼。
1、提示輸入密碼
#!/bin/bash echo "Please input a password:"
我們來看看效果
我們先來改變它的可執行權限,再來執行。已經實現了上面的第一步。
2、讀取密碼
#!/bin/bash echo "Please input a password:" read PASS echo "your passwd is: $PASS"
我們來看看結果
已經實現了讀取密碼的功能。
3、對密碼進行加密
#!/bin/bash echo "Please input a password:" read PASS PASS=$(echo $PASS | openssl base64) echo "your passwd is: $PASS"
我們來看看效果
我們看到密碼已經實現加密了。
4、重定向輸入到文件;5、查看密碼。
#!/bin/bash echo "Please input a password:" read PASS echo $PASS | openssl base64 > /home/aston/test/a.txt
我們來看看效果
那么我們肯定不希望在輸入密碼的時候被別人看到,所以我們得做個處理
!/bin/bash echo "Please input a password:" echo -n -e "\033[30;40m" read PASS echo -e "\033[0m" echo $PASS | openssl base64 > /home/aston/test/a.txt
我們將其背景色設置為黑色,來看看效果
我們看到在輸入密碼時其背景為黑色,密碼還是加密的。此時我們已經學習了 shell 中的管道和 echo 命令,在以后的開發中會更加的方便。
以上是“shell中重定向、管道和echo 命令的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。