GNU/Linux >> Linux Esercitazione >  >> Linux

Come passare un argomento della riga di comando in uno script di shell?

So che gli script di shell eseguono semplicemente i comandi come se fossero eseguiti al prompt dei comandi. Mi piacerebbe essere in grado di eseguire script di shell come se fossero funzioni... Cioè, prendendo un valore di input o una stringa nello script. Come mi avvicino a farlo?

Risposta accettata:

Il comando shell e tutti gli argomenti di quel comando appaiono come numerati variabili della shell:$0 ha il valore stringa del comando stesso, qualcosa come script , ./script , /home/user/bin/script o altro. Tutti gli argomenti vengono visualizzati come "$1" , "$2" , "$3" e così via. Il conteggio degli argomenti è nella variabile della shell "$#" .

I modi comuni per affrontare questo problema coinvolgono i comandi della shell getopts e shift . getopts è molto simile al C getopt() funzione di libreria. shift sposta il valore di $2 a $1 , $3 a $2 , e così via; $# viene decrementato. Il codice finisce per guardare il valore di "$1" , facendo le cose usando un caseesac per decidere un'azione, quindi eseguire un shift per spostare $1 al prossimo argomento. Deve solo esaminare $1 e forse $# .


Linux
  1. Passare gli argomenti della riga di comando allo script Bash?

  2. Come vengono analizzati gli argomenti della riga di comando remota Ssh?

  3. Linux:come avviare Puppy Linux Slacko nella riga di comando?

  4. Come passare l'output di un comando come argomento a un altro?

  5. 6 Aspettatevi esempi di argomenti della riga di comando dello script

Come eseguire il comando / script della shell di Linux in background

Come avviare la riga di comando di Linux

Come memorizzare un comando Linux come variabile nello script della shell

Come eseguire un comando in uno script della shell?

Come leggere gli argomenti della riga di comando negli script della shell?

Come nascondere una password passata come argomento della riga di comando?