if ( $#argv == 0 ) goto HELP set direction = -R set font = -m foreach i ( $argv[*] ) set check = `echo $i | cut -b1` if ( $check == - ) then set count = 2 set num = `echo $i | wc -m` while ( $count < $num ) set character = `echo $i | cut -b"$count"` switch ( $character ) case r: set direction = -r breaksw case g: set font = -g breaksw case L: @ fsize = $fsize + 4 breaksw case l: @ fsize = $fsize + 2 breaksw case S: @ fsize = $fsize - 4 if ( $fsize < $minsize ) set fsize = 4 breaksw case s: @ fsize = $fsize - 2 if ( $fsize < $minsize ) set fsize = 4 breaksw case [hH]: goto HELP breaksw case *: echo "error>指定されたオプション $character が無効です。" exit 1 breaksw endsw @ count++ end else if ( $?file == 0 ) then set file = $i else set file = ( $file $i ) endif endif end set fsize = "-s$fsize" if ( $?file == 0 ) then echo 'error>ファイルが指定されていません。' exit 1 endif
foreach i ( $file ) if ( -e $i ) then if ( -d $i ) then echo "error>$i はディレクトリーです。" else (jtops -j $direction $font $fsize $i | $print) >& /dev/null if ( $status == 0 ) then echo ">ファイル $i をプリンタに出力しました。" else echo "error>ファイル $i でエラーが発生しました。" endif endif else echo "error>$i ファイルが存在しません。" endif end exit 0
HELP: echo '書式: psp [オプション] ファイル名(s)' echo ' r :横書き印刷' echo ' g :ゴシック体フォント' echo ' L :フォントサイズ +4' echo ' l :フォントサイズ +2' echo ' S :フォントサイズ -4' echo ' s :フォントサイズ -2'
ファイルはcompressにより圧縮されています(ファイル名:psp.Z)
スクリプト内で印刷出力コマンドを設定していますが コマンドに引数を与えたい場合はシングルクォーテーションかダブルクォーテーションでコマンドを囲ってやる必要があります。 set print = 'lpr -P プリンタ'
コメント 0