Closed dennisangemi closed 1 year ago
Ho chiesto aiuto a ChatGPT:
Ecco uno script bash che potresti utilizzare per creare un file markdown con un nome specificato dall'utente utilizzando l'opzione -o:
#!/bin/bash
# Parsing degli argomenti
while getopts "o:" arg; do
case $arg in
o)
output_file=$OPTARG
;;
*)
echo "Usage: f2md -o FILENAME.md"
exit 1
;;
esac
done
# Controllo che l'opzione -o sia stata specificata
if [ -z $output_file ]; then
echo "Usage: f2md -o FILENAME.md"
exit 1
fi
# Esecuzione del comando f2md
f2md | tee $output_file
Questo script fa uso del comando getopts per analizzare gli argomenti passati allo script. L'opzione -o viene gestita nel blocco case, che salva il nome del file specificato dall'utente nella variabile output_file. Successivamente, viene verificato che l'opzione -o sia stata specificata correttamente, e infine viene eseguito il comando f2md e il suo output viene salvato sia nella console che nel file specificato dall'utente. Il comando tee viene utilizzato per questo scopo, in quanto permette di salvare l'output su più di un file contemporaneamente.
io non voglio che -t requires an argument
In tal caso, puoi rimuovere il carattere : dalla stringa degli argomenti di getopts per il flag -t. In questo modo, lo script non richiederà un argomento per il flag -t. Ecco un esempio di come modificare lo script per fare ciò:
#!/bin/bash
while getopts ":o:t" opt; do
case ${opt} in
o )
output_file=${OPTARG}
;;
t )
timeout=1
;;
\? )
echo "Invalid option: -$OPTARG" 1>&2
exit 1
;;
: )
echo "Option -$OPTARG requires an argument." 1>&2
exit 1
;;
esac
done
echo "Output file is: $output_file"
echo "Timeout is: $timeout"
-o
to set output filename https://github.com/dennisangemi/frictionless2md/commit/9c34112eb2c23598fd5dcde2fe56c75e0a698bf0-u
to github info #12-t
to add the tree https://github.com/dennisangemi/frictionless2md/commit/36fb3e25561fa009520b01c31be6dee5ff2de895Additional infos