#! /bin/bash
###### git的相關操作
###### 字型顏色
#黑 1高亮度顯示 0正常顯示
black_color="\e[1;30m"
#紅red_color='\e[0;31m'
#綠green_color='\e[1;32m'
#黃yellow_color='\e[1;33m'
#藍bule_color='\e[0;34m'
#紫purple_color='\e[1;35m'
#深綠darkgreen_color='\e[1;36m'
#白white_color='\e[1;37m'
reset='\e[0m'
### 讀取git工具編號函式
function readargsfromconsole()
function executecommand()-1)}
doexecutecommand $command_name $projectitem $branchname $message
done
else
# 如果 projectname為目錄,則為真
if [[ ! -d $projectname ]]
then
echo -e $red_color"該專案['$projectname']不存在,請檢查!"$reset
exit
fiecho -e $bule_color"進入專案['$projectname']:"$reset
cd $projectname
git_repository="origin"
if [[ $command_name == "pull" ]]
then
git pull $git_repository $branchname
elif [[ $command_name == "push" ]]
then
git add . && git commit -m $message
git push $git_repository $branchname:$branchname
elif [[ $command_name == "checkout" ]]
then
git checkout $branchname
elif [[ $command_name == "checkout_new" ]]
then
git checkout -b $branchname
elif [[ $command_name == "clean" ]]
then
git checkout .
elif [[ $command_name == "merge" ]]
then
git merge --no-ff $branchname
else
git tag -a 'v_'$branchname -m $message
ficd ..
fi}project=(a b c d all)
command_list=(pull checkout push tag checkout_new clean merge)
echo "該指令碼提供了一些常用的批量操作工具,比如:批量提交、批量更新、批量切換分支、批量打專案tag工具"
echo "當前指令碼路徑是"$pwd
echo "該指令碼提供git的一些工具:"
for(( index=0;index<$;index++ ))
do command_name=$
echo $index". "$command_name" 專案"
done
read -p "請選擇工具編號:" command_index
readargsfromconsole $command_index $ '請重新選擇工具編號:'
### 打包狀態檢測
check_pack_status=`ps -ef | grep package.*.sh | grep -v "grep" | wc -l`
if [[ $check_pack_status -gt 0 ]]
then
echo -e $red_color"正在進行打包請勿進行git操作"$reset
exit
fiecho "將該命令作用於以下的專案:"
for(( i=0; i<$; i++ ))
do echo $i"."$
done
read -p "請輸入專案的編號[支援多專案,多專案數字以空格分割]:" project_indexs
### 專案索引合法判斷
for project_index in $
do if [[ $project_index -lt 0 ]] || [[ $project_index -ge $ ]]
then
echo -e $red_color"您輸入的數字有誤,請重新輸入:"$reset
read project_indexs
fidone
read -p "請輸入分支名:" branch_name
# 如果 branch長度為零,則為真
if [[ -z $branch_name ]]
then
echo "沒有輸入特定的分支名,將使用預設的分支名[master]"
branch_name="master" fi
### push tag 命令的備註說明
case $command_index in
0|1 )
message=""
;;2|3 )
echo "請輸入備註:"
read message
# 如果 message長度為零,則為真
if [[ -z $message ]]
then
message="update"
fi;;
esac
for project_index in $
do projectname=$
command_name=$
echo -e $bule_color"將該命令["$command_name"]作用於以下的專案:"
if [[ $projectname == "all" ]]
then
for projectitem in $-1)}
doecho $projectitem
done
else
echo $projectname
fi # 字型顏色是成對出現的,不然會一直顯示沒有結束標誌的字型顏色
echo -e $reset
executecommand $command_name $projectname $branch_name $message
done
const相關,指標相關,陣列相關
include include head.h int a 3,c 2 const int b a b 8 error b c right const用來修飾指標所指向的變數,還是指標 可以修改指標指向位址,但不能直接修改指向內容 int const b a b 8 right p error con...
自相關互相關卷積的 自相關與互相關
自相關 autocorrelation 也叫序列相關,是乙個訊號與其自身在不同時間點的互相關。非正式地來說,自相關是對同一訊號在不同時間的兩次觀察,通過對比來評判兩者的相似程度。自相關函式就是訊號x t 和它的時移訊號x t 的乘積平均值。它是時移變數 的函式。這是從書上抄來的話,到底是什麼意思呢?...
自相關互相關卷積的 自相關和互相關
1.首先說說自相關和互相關的概念。這個是訊號分析裡的概念,他們分別表示的是兩個時間序列之間和同乙個時間序列在任意兩個不同時刻的取值之間的相關程度,即互相關函式是描述隨機訊號x t y t 在任意兩個不同時刻t1,t2的取值之間的相關程度,自相關函式是描述隨機訊號x t 在任意兩個不同時刻t1,t2的...