Man page in pdf

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

[code]#!/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[/code]
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 !!:slight_smile:

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

[code]#!/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.”[/code]

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?

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:

Io ho fatto questo:

[code]#!/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[/code]
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? :slight_smile:

Molto meglio grazie mille!!!

bene :slight_smile: