Passare due parametri ad uno script shell[Risolto]

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

Passare due parametri ad uno script shell[Risolto]

Messaggioda JordanDunk » venerdì 19 maggio 2017, 16:58

Buongiorno a tutti, volevo chiedere un consiglio: sto scrivendo uno script al quale li passo due parametri(due file di testo) e vorrei che mi segnalasse errore se passo più di un parametro oppure se i file non esistono.
es da terminale digito: :~$ ./Mioscript <path>/file1 <path>/file2
cosi ho passato file1 e file 2 al Mioscript
all'inizio dello script ho inserito:
file1=$1
file2=$2

if ["$#" -ne 2];then
echo "errore"
exit 1
fi

però anche se passo un parametro in più es: :~$ ./Mioscript <path>/file1 <path>/file2 <path>/file3
lo script funziona comunque. Voi potete aiutarmi?
grazie :ciao:
Ultima modifica di JordanDunk il venerdì 26 maggio 2017, 15:25, modificato 1 volta in totale.
JordanDunk
Prode Principiante
 
Messaggi: 50
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: Passare due parametri ad uno script shell

Messaggioda thece » venerdì 19 maggio 2017, 17:47

:ciao:

... la documentazione, questo argomento sconosciuto ;)

Codice: Seleziona tutto
#!/bin/bash

if (( $# != 2 )); then
        echo "[ERR] Lo script ha bisogno di (esattamente) due parametri"
        exit 1
fi

if [[ ! -f "$1" ]]; then
        echo "[ERR] Il file '$1' non esiste"
        exit 1
fi

if [[ ! -f "$2" ]]; then
        echo "[ERR] Il file '$2' non esiste"
        exit 1
fi

echo "[Info] Lo script ha ricevuto in ingresso (esattamente) due parametri ed entrambi i parametri sono due file esistenti"

exit 0
Avatar utente
thece
Rampante Reduce
Rampante Reduce
 
Messaggi: 7287
Iscrizione: aprile 2007
Distribuzione: Debian 9 (Stretch) - KDE

Re: Passare due parametri ad uno script shell

Messaggioda JordanDunk » venerdì 19 maggio 2017, 18:14

Grazie mille @thece, haha in questi giorni sto leggendo un sacco di guide e ho il cervello fuso :( ma la riga di codice if [[ ! -f "$1" ]]; then l'opzione -f cosa indica specificatamente perchè l'ho trovata spesso ma nessuno che la spiegasse bene
JordanDunk
Prode Principiante
 
Messaggi: 50
Iscrizione: aprile 2017
Desktop: Ubuntu
Distribuzione: Ubunto 16.10 | x86_64
Sesso: Maschile

Re: Passare due parametri ad uno script shell

Messaggioda Gerry Ghetto » venerdì 19 maggio 2017, 18:33

JordanDunk ha scritto:ma la riga di codice if [[ ! -f "$1" ]]; then l'opzione -f cosa indica specificatamente perchè l'ho trovata spesso ma nessuno che la spiegasse bene

Greg's Wiki
Scusate il mio italiano. Non è la mia madrelingua.
forum.ubuntu-it.org - il peggior forum che conosco
Gerry Ghetto
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1282
Iscrizione: marzo 2015


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: gila75 e 7 ospiti