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.
91 lines
2.1 KiB
91 lines
2.1 KiB
#!/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
|
|
|