You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.1 KiB
92 lines
2.1 KiB
8 years ago
|
#!/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
|