Fedora Online Forum

Il forum della comunità italiana di Fedora

#1 27-07-2013 18:32:14

barty93
Appena sbarcato sul forum
Da Salerno
Registrato: 03-05-2013
Messaggi: 86

Man page in pdf

Salve a tutti!! Sto imparando a fare qualcosina in bash e ho scritto questo script: 

#!/bin/bash

if test -z "$1"
then 
   echo "nessun parametro passato"
   exit	
else
   echo "creazione pdf in corso"
   sleep 2
fi

man -t $1 | ps2pdf - $1.pdf

echo pdf creato nella cartella corrente

exit 0

vi scrivo per chiedervi aiuto su un problema che non riesco a risolvere. Vi pongo la mia domanda.
Come faccio a inserire in input a questo script pagine del manuale specificando la sezione
di a partenenza?? Ad esempio man 2 read. Grazie a tutti in anticipo !!:)

Non in linea

#2 27-07-2013 22:00:52

bebo_sudo
Collaboratore
Da Trento+Trieste
Registrato: 28-02-2011
Messaggi: 1'896
Sito web

Re: Man page in pdf

Ciao barty93,
vorresti che lo script prendesse tutto l'input dell'utente?
Io ho creato questa versione:

#!/bin/bash

if [ -z "$1" ]; then 
   echo "Nessun parametro passato."
   exit 1
fi
echo "Creazione pdf in corso."
sleep 2
man -t [email protected] | ps2pdf - $2_$1.pdf

echo "pdf creato nella cartella corrente."

L'ho reso eseguibile, ho lanciato per prova un:

$ prova 1 read

e mi ha restituito un bel pdf.

Con questa versione c'è però il problema di dover ogni volta ricordarsi di inserire prima la sezione e poi il manuale.
È ancora migliorabile, ma per ora ha risolto un po' di tuoi dubbi?


devzero.tk - github.com/bebosudo
Quando posti del codice, mettilo nel tag code! (senza spazi)            [ code]così[/ code]

Non in linea

#3 27-07-2013 23:12:07

barty93
Appena sbarcato sul forum
Da Salerno
Registrato: 03-05-2013
Messaggi: 86

Re: Man page in pdf

Oh si grazie mille questa era la mia idea!! :thanks:
Comunque come si può migliorare?? Se mi puoi dare delle linee guida
cosi ci provo io e in caso di difficoltà cercherò aiuto(sperando di no)  :wow:

Non in linea

#4 31-07-2013 15:12:11

bebo_sudo
Collaboratore
Da Trento+Trieste
Registrato: 28-02-2011
Messaggi: 1'896
Sito web

Re: Man page in pdf

Io ho fatto questo:

#!/bin/bash

if [ "$#" != 2 ]; then
	echo -e "\nErrore. Controllare i parametri passati allo script."
	exit 1
fi

if [ $(($1 / 1)) != 0 ]; then
	paragrafo=$1
	pagina=$2
else
	paragrafo=$2
	pagina=$1
fi

echo "Creazione pdf in corso."
sleep 2
man -t $paragrafo $pagina | ps2pdf - $paragrafo\_$pagina.pdf

if [ $? -eq 0 ]; then
	echo "pdf creato nella cartella corrente."
else
	echo "è stato riscontrato un errore nella creazione del pdf."
	exit 1
fi

e riesco a riconoscere qual è il numero nei due parametri passati allo script, a prescindere quale sia prima o dopo.
Svantaggi:
* non funziona con parametri diversi da due
* non riconosce se non esiste una pagina di manuale specifica, nel qual caso crea un pdf bianco. Es:

$ prova read 2

Però insomma se a uno interessa una pagina di manuale basta che prima se la guarda nel terminale e poi se la può stampare in pdf.

Meglio? smile


devzero.tk - github.com/bebosudo
Quando posti del codice, mettilo nel tag code! (senza spazi)            [ code]così[/ code]

Non in linea

#5 06-08-2013 10:30:28

barty93
Appena sbarcato sul forum
Da Salerno
Registrato: 03-05-2013
Messaggi: 86

Re: Man page in pdf

Molto meglio grazie mille!!!

Non in linea

#6 06-08-2013 13:23:33

bebo_sudo
Collaboratore
Da Trento+Trieste
Registrato: 28-02-2011
Messaggi: 1'896
Sito web

Re: Man page in pdf

bene smile


devzero.tk - github.com/bebosudo
Quando posti del codice, mettilo nel tag code! (senza spazi)            [ code]così[/ code]

Non in linea

Piè di pagina