#!/bin/bash source ./.bash_colors > /dev/null pxview() { path="$1" bmpx="$(cat "$path")" palette=($(echo "$bmpx" | sed '1!d')) bmpx="$(echo "$bmpx" | sed '1d')" line1="$(echo "$bmpx" | sed '1!d')" width=$(( $(echo "$line1" | wc -m) - 1 )) background="${palette[0]}" #declare -p path palette bmpx width background if [ $# > 1 ]; then eval "$(for pal in "${@:2}";do printf 'palette%s ' "$pal";done)" # declare -p palette fi echo "$bmpx" | while read row; do echo "$row" | while IFS= read -rN1 px; do # echo ch: '"'$px'"' COL.square ${palette[$px]} done echo ${COL[0]} done }