scrivere un comando con le sue opzioni con sh
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
In pratica vengono valutati tutti gli paramentri del comando in successione, quindi per primo $1, dopodichè $1 "sparisce" e quello che era $2 diventa $1 che poi sparisce a sua volta, per far si che $3 che diventerà prima $2 sarà nel frattempo sarà diventato $1 ... e così via fino ad esaurimento dei parametri. L'unico parametro che non viene "shiftato" è $0 che resta immutato.
E' più difficile da spiegare che altro...
Ciao
E' più difficile da spiegare che altro...
Ciao
- targzeta
- Iper Master

- Messaggi: 6644
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
...a proposito di eleganza.Salvo ha scritto: ...ma così è più elegante.
Comunque in bash non so come si fa, ma in c bisogna vedere se il primo carattere è '-' e fare il controllo sui restanti caratteri, in modo da poter leggere direttamente "-abc" piuttosto che "-a -b -c"
In C, per beccare le opzioni bisognerebbe usare la funzione getopt, e per quelle con il formato lungo (--casa) si usa getopt_long.
man 3 getopt, per maggiori informazioni.
Analogamente, per la shell esiste il comando getopt (e non getopts che è il comando interno della bash) per prelevare le opzioni da riga di comando, è
ammesso anche in questo caso il formato lungo tramite l'opzione -l.
man 1 getopt per maggiori informazioni.
Spina

