原创 MD-字體/背景顏色

字體顏色黑色黃色紅色藍色綠色背景顏色背景色的設置是按照十六進制顏色值:#7FFFD4背景色的設置是按照十六進制顏色值:#FF83FA背景色的設置是按照十六進制顏色值:#D1EEEE背景色的設置是按照十六進制顏色值:#C0FF3E背景色的設置

原创 012#構建shelll腳本庫

sourcing 功能使用source、點號(.) 或 exec讀入腳本,可使腳本成爲了主運行進程腳本中的命令就好像是直接在當前shell中輸入的一樣(父shell)提取前面涉及的函數及全局變量或數組,將其合併到一個文件library.sh

原创 011#ANSI顏色系列

#!/bin/bash # ANSI color --- initializeANSI() { esc="\e" # 同'\033' # 前景色: blackf="${esc}[30m"; redf="${esc}

原创 009#任意精度的浮點數計算器

使用一個包裝器(wrapper),讓bc用起來更加順手。#!/usr/bin/envbash # 設置指定/默認精度if["$1"="-p"];thenprecision=$2shift2else# 默認精度 precision=2f

原创 010#文件鎖定

#!/bin/bash # FILENAME:filelock # 默認重試次數 retries="10"# 默認操作 action="lock"# 用於鎖文件的空命令 nullcmd="'which true'"# 設置選項whileg

原创 007#驗證日期格式

驗證日期是否有效,主要考慮閏年的情況,閏年的2月份有29天閏年規則:1、普通閏年:公曆年份是4的倍數的,且不是100的倍數,爲普通閏年。(如2004年就是閏年)2、世紀閏年:公曆年份是整百數的,必須是400的倍數纔是世紀閏年(如1900年不

原创 008#禁止echo末尾出現換行符

1、大多數Unix和GNU/Linux實現所包含的echo命令選項-n,禁止輸出內容的末尾出現換行符echo-n"hello";echo"world"# 輸出: hello world2、但有些使用\c作爲一個特殊的嵌入式字符來克服默認行爲

原创 006#驗證浮點數輸入

基本思路:1、檢查輸入值是否包含小數點"."2、包含小數點則對小數點的整數部分和小數部分分開測試3、確保小數點兩邊都是有效的整數,且沒有多餘的負號(針對validint進行補充判斷)4、最後檢查是否輸入值只是一個負號和小數點5、其他:待增強

原创 005#驗證整數輸入

驗證整數輸入,注意整數包含正負整數。1#!/usr/bin/envbash23validint(){4number=$15min=$26max=$378# 空值檢測9if[ -z $number ];then10echo"You didn'

原创 004#美化多位數字

將給定的數字以逗號分隔的形式顯示出來代碼:#!/bin/bash # FILENAME: nicenum.sh# 可接受兩個選項:DD(decimalpointa,小數分隔符) # 和TD(thousands delimiter,千位分隔符

原创 003#規範日期格式

輸入要求:1. 月份爲英文名稱或1至12的數字表示,如 January 或 12. 年份由4位數組成,如 2020格式化爲:3個字母的月份名稱(第一個字符大寫)、天數及4位數的年份組成#!/bin/bash # numMonth(){

原创 002#驗證輸入-僅限字母數字

確保輸入內容僅限於字母和數字#!/bin/bash # validAlpNum.sh# 驗證輸入,僅限字母數字 validAlphaNum() { validChar="$(echo $1 | sed -e 's/[^[:alnum

原创 001#在PATH中查找程序

驗證指定程序是否有效或者能否在PATH目錄列表中找到1#!/bin/bash2#驗證指定程序是否有效或者能否在PATH目錄列表中找到34inpath(){5cmd=$16ourpath=$27result=18oldIFS=$IFS9IFS

原创 linux日誌服務器審計客戶端history記錄

一、需求:將服務器上的每個用戶執行的命令、執行時間、登錄時間、主機ip、當前切換用戶等信息保存到本地並實時傳輸至日誌服務器進行異地保存。rsyslog-server: 192.168.1.240rsyslog-client: 192.168

原创 openvpn搭建以及證書加密和用戶名密碼雙重認證

一般只有路由器才支持的NAT穿越,但Openvpn也支持,在nat環境下使用openvpn,只需要一個在路由器上做一個端口映射即可。Openvpn還支持使證書加密數據傳輸,在安全性上遠勝於PPTP VPN,不過openvpn客戶端登錄只需要