shell脚本——实现简单的功能
生活随笔
收集整理的這篇文章主要介紹了
shell脚本——实现简单的功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Hello Word的輸出:
二、shell判斷是否已經安裝某個安裝包:
三、shell判斷文件或者文件夾是否存在
四、在拷貝操作中直接覆蓋 不顯示提示信息
五、shell語句給以SASL_NOCANON開頭的行某一行加注釋
六、echo中的轉義換行符 打印彩色字體、彩色背景
七、shell在PATH環境變量所包含的目錄列表中(各路徑之間以冒號法分開)查找對應的可執行文件。
八、文件傳輸符和重定向:
九、自定義文件描述符:
十、為命令創建別名
一、Hello Word的輸出: 示例: $vim test.sh 編輯 #!/bin/sh echo 'Hello Word!' $chmod 755 test.sh $./test.sh
二、shell判斷是否已經安裝某個安裝包: 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/ 強制覆蓋,忽略別名,不顯示提示信息: \cp -f /etc/openldap/ldap.conf /usr/local/etc/openldap/
五、shell語句給以SASL_NOCANON開頭的行某一行加注釋 sed 's/^SASL_NOCANON/#&/' /usr/local/etc/openldap/ldap.conf
六、echo中的轉義換行符 打印彩色字體、彩色背景 示例: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 藍色=34 洋紅=35 青色=36 白色=37 1是加粗字體;2是隱藏字體;3是斜體;4是有下劃線 示例:打印出彩色的背景 echo -e "\e[1;41m Red Background \e[0m" 顏色碼:重置=0 黑色=40 紅色=41 綠色=42 黃色=43 藍色=44 洋紅=45 青色=46 白色=47
七、shell在PATH環境變量所包含的目錄列表中(各路徑之間以冒號法分開)查找對應的可執行文件。 示例:如果在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 輸出兩行 >和>>并不相同,盡管這兩個操作符都可以將文本重定向到文件,但是前者會先清空文件,再寫入內容!而后者會講內容追加到現有的文件的尾部。 *當使用重定向操作符時,重定向的內容不會出現在終端,而是直接被導入到文件。重定向操作符默認使用標注輸出。
九、自定義文件描述符: *文件描述符是用于訪問文件的一個抽象指針。存取文件離不開被成為“文件描述符”的特殊數字。0、1、2分別是stdin stdout stderr的預留文件描述符。 *我們可以使用exec命令創建自定義的文件描述符。 *<操作符用于從文件中讀取至stdin >操作符用于截斷模式的文件寫入(數據在目標文件內容被截斷后寫入) >>操作符用于追加模式的文件寫入(數據加到現有的而文件的內容中,而且文件原有的內容不會丟失) 只讀模式 示例:為讀取文件創建一個文件描述符 $ echo this is a test line > input.txt $ exec 3<input.txt $ cat <&3 輸出:this is a test line 截斷模式: 示例:創建一個文件描述符用于寫入(截斷模式) $ exec 4>output.txt $ echo newline >&4 $ cat output.txt 輸出:newline 追加模式 示例:創建一個文件描述符用于寫入(追加模式) $ exec 5>input.txt $ echo newline >&5 $ cat input.txt
十、為命令創建別名 示例:為安裝命令apt-get install創建別名: $ alias install='sudo apt-get install' 這樣以來,我們就可以用install pidgin代替sudo apt-get install pidgin了。 *alias命令的作用只是暫時的。一旦關閉當前終端,所有的設置過的別名就消失了。為了使別名設置一直保持作用,可以將它放入~/.bashrc文件中。因為每當一個新的shell進程生成時,都會執行~/.bashr中的命令 刪除別名: $ unalias install='sudo apt-get install' 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
一、Hello Word的輸出: 示例: $vim test.sh 編輯 #!/bin/sh echo 'Hello Word!' $chmod 755 test.sh $./test.sh
二、shell判斷是否已經安裝某個安裝包: 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 與 服務器 是否都安裝了 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/ 強制覆蓋,忽略別名,不顯示提示信息: \cp -f /etc/openldap/ldap.conf /usr/local/etc/openldap/
五、shell語句給以SASL_NOCANON開頭的行某一行加注釋 sed 's/^SASL_NOCANON/#&/' /usr/local/etc/openldap/ldap.conf
六、echo中的轉義換行符 打印彩色字體、彩色背景 示例: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 藍色=34 洋紅=35 青色=36 白色=37 1是加粗字體;2是隱藏字體;3是斜體;4是有下劃線 示例:打印出彩色的背景 echo -e "\e[1;41m Red Background \e[0m" 顏色碼:重置=0 黑色=40 紅色=41 綠色=42 黃色=43 藍色=44 洋紅=45 青色=46 白色=47
七、shell在PATH環境變量所包含的目錄列表中(各路徑之間以冒號法分開)查找對應的可執行文件。 示例:如果在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 輸出兩行 >和>>并不相同,盡管這兩個操作符都可以將文本重定向到文件,但是前者會先清空文件,再寫入內容!而后者會講內容追加到現有的文件的尾部。 *當使用重定向操作符時,重定向的內容不會出現在終端,而是直接被導入到文件。重定向操作符默認使用標注輸出。
九、自定義文件描述符: *文件描述符是用于訪問文件的一個抽象指針。存取文件離不開被成為“文件描述符”的特殊數字。0、1、2分別是stdin stdout stderr的預留文件描述符。 *我們可以使用exec命令創建自定義的文件描述符。 *<操作符用于從文件中讀取至stdin >操作符用于截斷模式的文件寫入(數據在目標文件內容被截斷后寫入) >>操作符用于追加模式的文件寫入(數據加到現有的而文件的內容中,而且文件原有的內容不會丟失) 只讀模式 示例:為讀取文件創建一個文件描述符 $ echo this is a test line > input.txt $ exec 3<input.txt $ cat <&3 輸出:this is a test line 截斷模式: 示例:創建一個文件描述符用于寫入(截斷模式) $ exec 4>output.txt $ echo newline >&4 $ cat output.txt 輸出:newline 追加模式 示例:創建一個文件描述符用于寫入(追加模式) $ exec 5>input.txt $ echo newline >&5 $ cat input.txt
十、為命令創建別名 示例:為安裝命令apt-get install創建別名: $ alias install='sudo apt-get install' 這樣以來,我們就可以用install pidgin代替sudo apt-get install pidgin了。 *alias命令的作用只是暫時的。一旦關閉當前終端,所有的設置過的別名就消失了。為了使別名設置一直保持作用,可以將它放入~/.bashrc文件中。因為每當一個新的shell進程生成時,都會執行~/.bashr中的命令 刪除別名: $ unalias install='sudo apt-get install' 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的shell脚本——实现简单的功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell脚本——注释(单行注释 多行
- 下一篇: shell脚本——expect命令