#!/bin/bash # # Skrypt do wydruku na lokalnym terminalu, np. PuTTY # PATH=/bin:/usr/bin TTY=`tty` COMM_START='' COMM_STOP='' STTY=`stty -g` if [ `uname` = 'Linux' ] ; then ECHO="echo -en" else ECHO="echo -n" fi case $TERM in "vt220-tres"|"fslinux"|"linux"|"console") COMM_START=\\033[5i COMM_STOP=\\033[4i;; "wyse60"|"wy60") COMM_START=\\033d# COMM_STOP=\\024;; *) echo "Nieznany typ terminala: $TERM. ">&2 exit 1;; esac if [ $# -lt 1 ] ; then echo "Uzycie: $0 [-t terminal] [-u uzytkownik] nazwa_pliku_do_drukowania" exit 1 else while [ $# -gt 0 ] ; do case $1 in -t) shift 1 TTY=$1 if [ ! -w $TTY ] ; then echo "Plik $TTY nie istnieje lub prak praw zapisu" exit 1 fi;; -u) shift 1 TTY=`who|sed -n "/^$1 /s/[^ ]* *\([^ ]*\).*/\1/p"|head -n 1` if [ ! -w $TTY ] ; then TTY=/dev/$TTY if [ ! -w $TTY ] ; then echo "Plik $TTY nie istnieje lub brak praw zapisu" exit 1 fi fi;; *) $ECHO $COMM_START>$TTY stty -opost cat "$1" > $TTY stty $STTY $ECHO $COMM_STOP>$TTY;; esac shift 1 done fi # koniec