From 0553f954bc398ce37dcc451a83b15bf43fb23934 Mon Sep 17 00:00:00 2001 From: Francesco Minnocci Date: Thu, 3 Mar 2022 02:22:18 +0100 Subject: [PATCH] printa4: aggiungi -c|--cli per stampare tramite `lp` da terminale. --- printa4 | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/printa4 b/printa4 index a976dcb..10e8c44 100755 --- a/printa4 +++ b/printa4 @@ -4,21 +4,29 @@ # da una qualsiasi shell Unix (Linux, MacOS, BSD...). Funziona anche da remoto! # # Utilizzo: modifica lo script inserendo il tuo username -# al posto di "minnocci" nella variabile _user, -# e poi esegui lo script così: -# -# printa4 /percorso/del/Documento.pdf -# +# al posto di "minnocci" nella variabile _user. +# È consigliato aggiungere la propria chiave ssh nella +# macchina `ssh1` tramite il comando `ssh-copy-id`, in +# modo da non dover inserire la password ogni volta. +## CAMBIA QUESTO _user="minnocci" main() { - for f in $@; do - scp $f ${_user}@ssh1.dm.unipi.it:/student/home/${_user}/printa4-$f - ssh -XY ${_user}@ssh1.dm.unipi.it okular /student/home/${_user}/printa4-$f --print - ssh ${_user}@ssh1.dm.unipi.it rm /student/home/${_user}/printa4-$f - done - echo "File temporanei eliminati " + if $NO_CLI; then + for f in $@; do + scp $f ${_user}@ssh1.dm.unipi.it:/student/home/${_user}/printa4-$f + ssh -XY ${_user}@ssh1.dm.unipi.it okular /student/home/${_user}/printa4-$f --print + ssh ${_user}@ssh1.dm.unipi.it rm /student/home/${_user}/printa4-$f + done + else + options="$1"; shift + for f in $@; do + scp $f ${_user}@ssh1.dm.unipi.it:/student/home/${_user}/printa4-$f + ssh ${_user}@ssh1.dm.unipi.it lp $options /student/home/${_user}/printa4-$f + ssh ${_user}@ssh1.dm.unipi.it rm /student/home/${_user}/printa4-$f + done + fi } usage() { @@ -31,7 +39,20 @@ Ad esempio: $(basename "$0") ~/GAAL.pdf -NOTA: La variabile del nome utente usato per stampare va modificato all'interno dello script + $(basename "$0") alg2.pdf commRingTheory.pdf + +> NOTA: La variabile del nome utente usato per stampare va modificato all'interno dello script + +Per stampare tramite "lp" invece che da interfaccia grafica tramite "okular", è +possibile passare l'opzione "-c" o "--cli", seguita dagli argomenti di stampa +per "lp" fra virgolette, e passando come ultimo argomento i file PDF da stampare: + + $(basename "$0") --cli "-o number-up=2 -o sides=two-sided-short-edge" MR-impaginato.pdf + +(funziona pure con più file ma usa le stesse opzioni per ciascun file) + +> NOTA: L'esempio qua sopra usa le opzioni necessarie per poter stampare un file +> creato con lo script "impagina", per rilegare le dispense a libretto in A5. EOF } @@ -47,9 +68,11 @@ else case $1 in -h|--help) usage ;; + -c|--cli) + NO_CLI=false; shift; main "$@" ;; -*) error "Opzione invalida: $1" ;; *) - main $@ ;; + main "$@" ;; esac fi