linux shell git相關操作

2021-08-28 10:26:43 字數 3434 閱讀 2517

#! /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的...