91 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
| #!/usr/bin/bash
 | |
| 
 | |
| if [ $1 ]; then
 | |
| 	while test $# -gt 0; do
 | |
| 		case $1 in
 | |
| 			-h|--help)
 | |
| 				echo "Create files from template"
 | |
| 				echo ""
 | |
| 				echo "Usage: new [options] newFile"
 | |
| 				echo ""
 | |
| 				echo "Options:"
 | |
| 				echo "--------"
 | |
| 				echo -e "{-t,--template} filename \t Force use of template in Template Directory"
 | |
| 				echo -e "{-l,--list} \t\t\t Lists the available templates"
 | |
| 				echo -e "{-h,--help} \t\t\t Show this help text"
 | |
| 				exit 0
 | |
| 				;;
 | |
| 			-t|--template)
 | |
| 				shift
 | |
| 				if [[ -f "$HOME/Templates/$1" ]]; then 
 | |
| 					template="$HOME/Templates/$1"
 | |
| 				else
 | |
| 					echo "The file $HOME/Templates/$1 does not exits"
 | |
| 					exit 1
 | |
| 				fi
 | |
| 				shift
 | |
| 				;;
 | |
| 			-l|--list)
 | |
| 				shift
 | |
| 				for file in $HOME/Templates/*$1; do
 | |
| 					echo ${file##*/}
 | |
| 				done
 | |
| 				exit 0
 | |
| 				;;
 | |
| 			*)
 | |
| 				file=$1
 | |
| 				if [[ "$template" == "" ]]; then
 | |
| 					extention=${file##*.}
 | |
| 					posTemplates=()
 | |
| 					if [[ -f $HOME/Templates/$extention ]]; then
 | |
| 						posTemplates+=("$HOME/Templates/$extention")
 | |
| 					fi
 | |
| 					for template in $HOME/Templates/*.$extention; do
 | |
| 						if [[ -f $template ]]; then
 | |
| 							posTemplates+=( $template )
 | |
| 						fi
 | |
| 					done
 | |
| 					if [[ ${#posTemplates[@]} == 1 ]]; then
 | |
| 						echo "Only one template"
 | |
| 						template=${posTemplates[0]}
 | |
| 					else
 | |
| 
 | |
| 						posTemplates+=("Cancel")
 | |
| 						while
 | |
| 							echo Your options are:
 | |
| 							for (( i=0; i<${#posTemplates[@]}; i++ )); do
 | |
| 								echo "$i: ${posTemplates[$i]##*/}"
 | |
| 							done
 | |
| 							echo -e -n "Please enter a number: [0] "
 | |
| 							read input
 | |
| 							if [[ "$input"=="" ]]; then
 | |
| 								test=0
 | |
| 							fi;
 | |
| 							if [[ "$input" == "$(expr ${#posTemplates[@]} - 1)" ]]; then
 | |
| 								echo "Exited By User"
 | |
| 								exit 0
 | |
| 							fi
 | |
| 							template=${posTemplates[$input]}
 | |
| 							[[ $input>=${#posTemplates[@]} || $input<0 ]]
 | |
| 						do 
 | |
| 							echo
 | |
| 							echo Please chose one of the available options
 | |
| 						done
 | |
| 					fi
 | |
| 				fi
 | |
| 
 | |
| 
 | |
| 				if [[ -f "$file" ]]; then
 | |
| 					echo "$file already exists"
 | |
| 					echo "delete it first"
 | |
| 					exit 1
 | |
| 				fi
 | |
| 				cat "$template" > "$file"
 | |
| 				echo "$file created from template $template"
 | |
| 				exit 0
 | |
| 				;;
 | |
| 		esac
 | |
| 	done
 | |
| else
 | |
| 	echo "You haven't given anything to work with"
 | |
| fi
 |