Merry Christmas——用shell 脚本实现画一个 blingbling 的圣诞树
用shell 腳本實(shí)現(xiàn)一顆圣誕樹
- 前言
- shell腳本與其他語言相比的優(yōu)勢(shì)是什么?
- 一、實(shí)現(xiàn)效果圖
- 二、實(shí)現(xiàn)腳本
- 三.執(zhí)行腳本
前言
Shell是一種具備特殊功能的程序,它提供了用戶與內(nèi)核進(jìn)行交互操作的一種接口。
它接收用戶輸入的命令,并把它送入內(nèi)核去執(zhí)行。
內(nèi)核是Linux系統(tǒng)的心臟,從開機(jī)自檢就駐留在計(jì)算機(jī)的內(nèi)存中,直到計(jì)算機(jī)關(guān)閉為止,而用戶的應(yīng)用程序存儲(chǔ)在計(jì)算機(jī)的硬盤上,僅當(dāng)需要時(shí)才被調(diào)入內(nèi)存。
Shell是一種應(yīng)用程序,當(dāng)用戶登錄Linux系統(tǒng)時(shí),Shell就會(huì)被調(diào)入內(nèi)存去執(zhí)行。
Shell獨(dú)立于內(nèi)核,它是連接內(nèi)核和應(yīng)用程序的橋梁,并由輸入設(shè)備讀取命令,再將其轉(zhuǎn)為計(jì)算機(jī)可以理解的機(jī)械碼,Linux內(nèi)核才能執(zhí)行該命令。
shell腳本與其他語言相比的優(yōu)勢(shì)是什么?
shell腳本的優(yōu)勢(shì)在于處理操作系統(tǒng)底層的業(yè)務(wù) (linux系統(tǒng)內(nèi)部的應(yīng)用都是shell腳本完成)
因?yàn)橛写罅康膌inux系統(tǒng)命令為它做支撐。2000多個(gè)命令都是shell腳本編程的有力支撐,特別是grep、awk、sed等。
例如:一鍵軟件安裝、優(yōu)化、監(jiān)控報(bào)警腳本,常規(guī)的業(yè)務(wù)應(yīng)用。
shell開發(fā)更簡(jiǎn)單快速,符合運(yùn)維的簡(jiǎn)單、易用、高效原則.
PHP、Python優(yōu)勢(shì)在于開發(fā)運(yùn)維工具以及web界面的管理工具,web業(yè)務(wù)的開發(fā)等。
處理一鍵軟件安裝、優(yōu)化,報(bào)警腳本。常規(guī)業(yè)務(wù)的應(yīng)用等php/python也是能夠做到的。
但是開發(fā)效率和復(fù)雜比用shell就差很多了。
一、實(shí)現(xiàn)效果圖
二、實(shí)現(xiàn)腳本
#!/bin/bash #用shell編寫一個(gè)圣誕樹 #創(chuàng)建時(shí)間2021-12-21 trap "tput reset; tput cnorm; exit" 2 clear tput civis lin=2 col=$(($(tput cols) / 2)) c=$((col-1)) est=$((c-2)) color=0 tput setaf 2; tput bold# 打印樹葉 for ((i=1; i<20; i+=2)) {tput cup $lin $colfor ((j=1; j<=i; j++)){echo -n \*}let lin++let col-- }tput sgr0; tput setaf 3# 打印樹干 for ((i=1; i<=2; i++)) {tput cup $((lin++)) $cecho '||' } new_year=$(date +'%Y') let new_year++ tput setaf 222; tput bold tput cup $lin $((c - 10)); echo $new_year 圣 誕 節(jié) 快 樂!!! color=122 tput setaf $color; tput bold tput cup $((lin + 1)) $((c - 10)); echo 關(guān)注公眾號(hào): 一口Linux! let c++ k=1#裝飾一下 while true; dofor ((i=1; i<=35; i++)) {# Turn off the lights[ $k -gt 1 ] && {tput setaf 2; tput boldtput cup ${line[$[k-1]$i]} ${column[$[k-1]$i]}; echo \*unset line[$[k-1]$i]; unset column[$[k-1]$i] }li=$((RANDOM % 9 + 3))start=$((c-li+2))co=$((RANDOM % (li-2) * 2 + 1 + start))tput setaf $color; tput boldtput cup $li $coecho oline[$k$i]=$licolumn[$k$i]=$cocolor=$(((color+1)%8))sh=1#for l in M O N E Yfor l in 一 口 Li nu x!dotput cup $((lin+1)) $((c+sh))echo $llet sh++let sh++sleep 0.02done}k=$((k % 2 + 1)) done三.執(zhí)行腳本
root@ubuntu:/home/peng/work/test# chmod 777 peng.sh root@ubuntu:/home/peng/work/test# ./peng.sh總結(jié)
以上是生活随笔為你收集整理的Merry Christmas——用shell 脚本实现画一个 blingbling 的圣诞树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows程序设计 Charles
- 下一篇: 优秀的 OKR 案例参考