當(dāng)前位置:
首頁(yè) >
shell脚本——实现简单的功能
發(fā)布時(shí)間:2025/10/17
27
豆豆
生活随笔
收集整理的這篇文章主要介紹了
shell脚本——实现简单的功能
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、Hello Word的輸出:
二、shell判斷是否已經(jīng)安裝某個(gè)安裝包:
三、shell判斷文件或者文件夾是否存在
四、在拷貝操作中直接覆蓋 不顯示提示信息
五、shell語(yǔ)句給以SASL_NOCANON開頭的行某一行加注釋
六、echo中的轉(zhuǎn)義換行符 打印彩色字體、彩色背景
七、shell在PATH環(huán)境變量所包含的目錄列表中(各路徑之間以冒號(hào)法分開)查找對(duì)應(yīng)的可執(zhí)行文件。
八、文件傳輸符和重定向:
九、自定義文件描述符:
十、為命令創(chuàng)建別名
一、Hello Word的輸出: 示例: $vim test.sh 編輯 #!/bin/sh echo 'Hello Word!' $chmod 755 test.sh $./test.sh
二、shell判斷是否已經(jīng)安裝某個(gè)安裝包: If空格 [空格?`rpm -qa openssl|wc -l` -ne 0空格?];then echo -e "The packet_list:\n$OPENPACKNAME" else ??? echo "NO have!" fi
三、shell判斷文件或者文件夾是否存在 if [ ! -f $CLICA_PATH/private/CA.key ];then echo "make make it" else echo "This file is exit!!" fi
四、在拷貝操作中直接覆蓋 不顯示提示信息 https://www.cnblogs.com/dbcloud/p/6124004.html 文件存在不顯示提示信息:cp -n /etc/openldap/ldap.conf /usr/local/etc/openldap/ 強(qiáng)制覆蓋,忽略別名,不顯示提示信息: \cp -f /etc/openldap/ldap.conf /usr/local/etc/openldap/
五、shell語(yǔ)句給以SASL_NOCANON開頭的行某一行加注釋 sed 's/^SASL_NOCANON/#&/' /usr/local/etc/openldap/ldap.conf
六、echo中的轉(zhuǎn)義換行符 打印彩色字體、彩色背景 示例:echo "1\t2\t3" 1\t2\t3 示例:echo -e "1\t2\t3" 1 2 3 示例:打印出彩色的 echo -e "\e[1;31m This is red text \e[0m" 顏色碼:重置=0 黑色=30 紅色=31 綠色=32 黃色=33 藍(lán)色=34 洋紅=35 青色=36 白色=37 1是加粗字體;2是隱藏字體;3是斜體;4是有下劃線 示例:打印出彩色的背景 echo -e "\e[1;41m Red Background \e[0m" 顏色碼:重置=0 黑色=40 紅色=41 綠色=42 黃色=43 藍(lán)色=44 洋紅=45 青色=46 白色=47
七、shell在PATH環(huán)境變量所包含的目錄列表中(各路徑之間以冒號(hào)法分開)查找對(duì)應(yīng)的可執(zhí)行文件。 示例:如果在PATH中加一條新路徑 export PATH="$PATH:/home/user/bin" 或者 $PATH:/home/user/bin $export PATH
八、文件傳輸符和重定向: 示例:$ echo "This is a sample text 1" > temp.txt 輸出:vi temp.txt 輸出一行 示例:$ echo "This is a sample text 2" >> temp.txt 輸出:vi temp.txt 輸出兩行 >和>>并不相同,盡管這兩個(gè)操作符都可以將文本重定向到文件,但是前者會(huì)先清空文件,再寫入內(nèi)容!而后者會(huì)講內(nèi)容追加到現(xiàn)有的文件的尾部。 *當(dāng)使用重定向操作符時(shí),重定向的內(nèi)容不會(huì)出現(xiàn)在終端,而是直接被導(dǎo)入到文件。重定向操作符默認(rèn)使用標(biāo)注輸出。
九、自定義文件描述符: *文件描述符是用于訪問文件的一個(gè)抽象指針。存取文件離不開被成為“文件描述符”的特殊數(shù)字。0、1、2分別是stdin stdout stderr的預(yù)留文件描述符。 *我們可以使用exec命令創(chuàng)建自定義的文件描述符。 *<操作符用于從文件中讀取至stdin >操作符用于截?cái)嗄J降奈募懭?#xff08;數(shù)據(jù)在目標(biāo)文件內(nèi)容被截?cái)嗪髮懭?#xff09; >>操作符用于追加模式的文件寫入(數(shù)據(jù)加到現(xiàn)有的而文件的內(nèi)容中,而且文件原有的內(nèi)容不會(huì)丟失) 只讀模式 示例:為讀取文件創(chuàng)建一個(gè)文件描述符 $ echo this is a test line > input.txt $ exec 3<input.txt $ cat <&3 輸出:this is a test line 截?cái)嗄J?#xff1a; 示例:創(chuàng)建一個(gè)文件描述符用于寫入(截?cái)嗄J?#xff09; $ exec 4>output.txt $ echo newline >&4 $ cat output.txt 輸出:newline 追加模式 示例:創(chuàng)建一個(gè)文件描述符用于寫入(追加模式) $ exec 5>input.txt $ echo newline >&5 $ cat input.txt
十、為命令創(chuàng)建別名 示例:為安裝命令apt-get install創(chuàng)建別名: $ alias install='sudo apt-get install' 這樣以來,我們就可以用install pidgin代替sudo apt-get install pidgin了。 *alias命令的作用只是暫時(shí)的。一旦關(guān)閉當(dāng)前終端,所有的設(shè)置過的別名就消失了。為了使別名設(shè)置一直保持作用,可以將它放入~/.bashrc文件中。因?yàn)槊慨?dāng)一個(gè)新的shell進(jìn)程生成時(shí),都會(huì)執(zhí)行~/.bashr中的命令 刪除別名: $ unalias install='sudo apt-get install' 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
一、Hello Word的輸出: 示例: $vim test.sh 編輯 #!/bin/sh echo 'Hello Word!' $chmod 755 test.sh $./test.sh
二、shell判斷是否已經(jīng)安裝某個(gè)安裝包: If空格 [空格?`rpm -qa openssl|wc -l` -ne 0空格?];then echo -e "The packet_list:\n$OPENPACKNAME" else ??? echo "NO have!" fi
| #!/bin/sh#description: LDAP TLS?#判斷client 與 服務(wù)器 是否都安裝了 openssl 軟件包read -p "Inpiut your rpm_packet'name:" iOPENPACKNAME=`rpm -qa $i`if [ `rpm -qa $i|wc -l` -ne 0 ];then????????echo -e "The packet_list:$OPENPACKNAME"else????????echo "NO have!"fi |
三、shell判斷文件或者文件夾是否存在 if [ ! -f $CLICA_PATH/private/CA.key ];then echo "make make it" else echo "This file is exit!!" fi
四、在拷貝操作中直接覆蓋 不顯示提示信息 https://www.cnblogs.com/dbcloud/p/6124004.html 文件存在不顯示提示信息:cp -n /etc/openldap/ldap.conf /usr/local/etc/openldap/ 強(qiáng)制覆蓋,忽略別名,不顯示提示信息: \cp -f /etc/openldap/ldap.conf /usr/local/etc/openldap/
五、shell語(yǔ)句給以SASL_NOCANON開頭的行某一行加注釋 sed 's/^SASL_NOCANON/#&/' /usr/local/etc/openldap/ldap.conf
六、echo中的轉(zhuǎn)義換行符 打印彩色字體、彩色背景 示例:echo "1\t2\t3" 1\t2\t3 示例:echo -e "1\t2\t3" 1 2 3 示例:打印出彩色的 echo -e "\e[1;31m This is red text \e[0m" 顏色碼:重置=0 黑色=30 紅色=31 綠色=32 黃色=33 藍(lán)色=34 洋紅=35 青色=36 白色=37 1是加粗字體;2是隱藏字體;3是斜體;4是有下劃線 示例:打印出彩色的背景 echo -e "\e[1;41m Red Background \e[0m" 顏色碼:重置=0 黑色=40 紅色=41 綠色=42 黃色=43 藍(lán)色=44 洋紅=45 青色=46 白色=47
七、shell在PATH環(huán)境變量所包含的目錄列表中(各路徑之間以冒號(hào)法分開)查找對(duì)應(yīng)的可執(zhí)行文件。 示例:如果在PATH中加一條新路徑 export PATH="$PATH:/home/user/bin" 或者 $PATH:/home/user/bin $export PATH
八、文件傳輸符和重定向: 示例:$ echo "This is a sample text 1" > temp.txt 輸出:vi temp.txt 輸出一行 示例:$ echo "This is a sample text 2" >> temp.txt 輸出:vi temp.txt 輸出兩行 >和>>并不相同,盡管這兩個(gè)操作符都可以將文本重定向到文件,但是前者會(huì)先清空文件,再寫入內(nèi)容!而后者會(huì)講內(nèi)容追加到現(xiàn)有的文件的尾部。 *當(dāng)使用重定向操作符時(shí),重定向的內(nèi)容不會(huì)出現(xiàn)在終端,而是直接被導(dǎo)入到文件。重定向操作符默認(rèn)使用標(biāo)注輸出。
九、自定義文件描述符: *文件描述符是用于訪問文件的一個(gè)抽象指針。存取文件離不開被成為“文件描述符”的特殊數(shù)字。0、1、2分別是stdin stdout stderr的預(yù)留文件描述符。 *我們可以使用exec命令創(chuàng)建自定義的文件描述符。 *<操作符用于從文件中讀取至stdin >操作符用于截?cái)嗄J降奈募懭?#xff08;數(shù)據(jù)在目標(biāo)文件內(nèi)容被截?cái)嗪髮懭?#xff09; >>操作符用于追加模式的文件寫入(數(shù)據(jù)加到現(xiàn)有的而文件的內(nèi)容中,而且文件原有的內(nèi)容不會(huì)丟失) 只讀模式 示例:為讀取文件創(chuàng)建一個(gè)文件描述符 $ echo this is a test line > input.txt $ exec 3<input.txt $ cat <&3 輸出:this is a test line 截?cái)嗄J?#xff1a; 示例:創(chuàng)建一個(gè)文件描述符用于寫入(截?cái)嗄J?#xff09; $ exec 4>output.txt $ echo newline >&4 $ cat output.txt 輸出:newline 追加模式 示例:創(chuàng)建一個(gè)文件描述符用于寫入(追加模式) $ exec 5>input.txt $ echo newline >&5 $ cat input.txt
十、為命令創(chuàng)建別名 示例:為安裝命令apt-get install創(chuàng)建別名: $ alias install='sudo apt-get install' 這樣以來,我們就可以用install pidgin代替sudo apt-get install pidgin了。 *alias命令的作用只是暫時(shí)的。一旦關(guān)閉當(dāng)前終端,所有的設(shè)置過的別名就消失了。為了使別名設(shè)置一直保持作用,可以將它放入~/.bashrc文件中。因?yàn)槊慨?dāng)一個(gè)新的shell進(jìn)程生成時(shí),都會(huì)執(zhí)行~/.bashr中的命令 刪除別名: $ unalias install='sudo apt-get install' 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀
總結(jié)
以上是生活随笔為你收集整理的shell脚本——实现简单的功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell脚本——注释(单行注释 多行
- 下一篇: shell脚本——expect命令