#!/usr/bin/env bash

zig_len=7 zag_len=20 zog_len=50
offset=$(( zag_len - zig_len ))

for (( idx = 0; idx < zig_len; idx += 1 )); do
  zigs+=*
done

for (( idx = 0; idx < zog_len; idx += 1 )); do
  printf '%*s%s\n' "$offset" "" "$zigs"

  if (( (offset + zig_len) == zag_len )); then
    dir=left
  elif (( offset == 0 )); then
    dir=right
  fi

  if [[ $dir = left ]]; then
    (( offset -= 1 ))
  else
    (( offset += 1 ))
  fi
done