|  |  | @@ -0,0 +1,67 @@ | 
		
	
		
			
			|  |  |  | #!/bin/bash | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # The function is used to obtain distribution information | 
		
	
		
			
			|  |  |  | get_distro_info() { | 
		
	
		
			
			|  |  |  | local distro_id=$(lsb_release -i -s 2>/dev/null) | 
		
	
		
			
			|  |  |  | local distro_version=$(lsb_release -r -s 2>/dev/null) | 
		
	
		
			
			|  |  |  | local kernel_version=$(uname -r) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # If lsd_release is not available, try parsing the/etc/* - release file | 
		
	
		
			
			|  |  |  | if [ -z "$distro_id" ] || [ -z "$distro_version" ]; then | 
		
	
		
			
			|  |  |  | distro_id=$(grep '^ID=' /etc/*-release | cut -d= -f2 | tr -d '"') | 
		
	
		
			
			|  |  |  | distro_version=$(grep '^VERSION_ID=' /etc/*-release | cut -d= -f2 | tr -d '"') | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | echo "$distro_id $distro_version (Kernel version: $kernel_version)" | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get Git repo name | 
		
	
		
			
			|  |  |  | git_repo_name='' | 
		
	
		
			
			|  |  |  | if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then | 
		
	
		
			
			|  |  |  | git_repo_name=$(basename "$(git rev-parse --show-toplevel)") | 
		
	
		
			
			|  |  |  | if [ $? -ne 0 ]; then | 
		
	
		
			
			|  |  |  | git_repo_name="(Can't get repo name)" | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | git_repo_name="It NOT a Git repo" | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get CPU type | 
		
	
		
			
			|  |  |  | cpu_model=$(uname -m) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get memory size | 
		
	
		
			
			|  |  |  | memory_size=$(free -h | grep Mem | awk '{print $2}') | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get docker version | 
		
	
		
			
			|  |  |  | docker_version='' | 
		
	
		
			
			|  |  |  | if command -v docker &> /dev/null; then | 
		
	
		
			
			|  |  |  | docker_version=$(docker --version | cut -d ' ' -f3) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | docker_version="Docker not installed" | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get python version | 
		
	
		
			
			|  |  |  | python_version='' | 
		
	
		
			
			|  |  |  | if command -v python &> /dev/null; then | 
		
	
		
			
			|  |  |  | python_version=$(python --version | cut -d ' ' -f2) | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | python_version="Python not installed" | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # Print all infomation | 
		
	
		
			
			|  |  |  | echo "Current Repo: $git_repo_name" | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | # get Commit ID | 
		
	
		
			
			|  |  |  | git_version=$(git log -1 --pretty=format:'%h') | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if [ -z "$git_version" ]; then | 
		
	
		
			
			|  |  |  | echo "Commit Id: The current directory is not a Git repository, or the Git command is not installed." | 
		
	
		
			
			|  |  |  | else | 
		
	
		
			
			|  |  |  | echo "Commit Id: $git_version" | 
		
	
		
			
			|  |  |  | fi | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | echo "Operating system: $(get_distro_info)" | 
		
	
		
			
			|  |  |  | echo "CPU Type: $cpu_model" | 
		
	
		
			
			|  |  |  | echo "Memory: $memory_size" | 
		
	
		
			
			|  |  |  | echo "Docker Version: $docker_version" | 
		
	
		
			
			|  |  |  | echo "Python Version: $python_version" |