GNU/Linux >> Linux Esercitazione >  >> Linux

Shell Script Wrapper per impedire l'esecuzione di comandi senza argomenti?

C'è un programma che uso, diciamo xyz , che ha effetti indesiderati se eseguo il comando bare senza argomenti. Quindi vorrei evitare di eseguire accidentalmente xyz comando senza argomenti ma consenti l'esecuzione con argomenti.

Come posso scrivere uno script di shell in modo che quando chiamo xyz senza argomenti stamperà un messaggio di errore e altrimenti passerà tutti gli argomenti a xyz programma?

Risposta accettata:

Puoi controllare la variabile speciale $#:

if [ $# -eq 0 ]; then
  echo "No arguments provided!"
  exit 1
fi
/usr/bin/xyz "[email protected]"

Quindi, aggiungi un alias al tuo ~/.bashrc;

alias xyz="/path/to/script.sh"

Ora, ogni volta che esegui xyz , verrà invece lanciato l'alias. Questo chiamerà lo script che controlla se hai degli argomenti e avvia solo il vero xyz comanda se lo fai. Ovviamente, cambia /usr/bin/xyz a qualunque sia il percorso completo del comando.


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

  2. Come gestire gli interruttori in uno script di shell?

  3. È possibile far interagire uno script di shell bash con un altro programma a riga di comando?

  4. Modifica lo script della shell mentre è in esecuzione

  5. Esecuzione di script di shell in parallelo

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

Come eseguire un comando Shell con Python

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?

Directory di modifica dello script Shell con variabile