GNU/Linux >> Znalost Linux >  >> Linux

Shell Script Wrapper zabránit spuštění příkazu bez argumentů?

Existuje program, který používám, řekněme xyz , což má nežádoucí účinky, pokud spustím příkaz holý bez argumentů. Rád bych tedy zabránil náhodnému spuštění xyz příkaz bez argumentů, ale povolte mu běh s argumenty.

Jak mohu napsat skript shellu tak, aby při volání xyz bez argumentů vypíše chybovou zprávu a jinak předá všechny argumenty do xyz program?

Přijatá odpověď:

Můžete zkontrolovat speciální proměnnou $#:

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

Poté přidejte alias do ~/.bashrc;

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

Nyní při každém spuštění xyz , místo toho se spustí alias. To zavolá skript, který zkontroluje, zda máte nějaké argumenty, a spustí pouze skutečný xyz příkaz, pokud to uděláte. Samozřejmě změňte /usr/bin/xyz na jakoukoli úplnou cestu příkazu.


Linux
  1. Je možné, aby skript bash shell interagoval s jiným programem příkazového řádku?

  2. Upravte skript shellu, když je spuštěn

  3. Paralelní spuštění skriptu shellu

  1. Jak uložit příkaz do proměnné v shell skriptu?

  2. Shell skript změní adresář s proměnnou

  3. Šablony s Linuxem ve skriptu Shell?

  1. Předat argumenty příkazového řádku skriptu Bash?

  2. Jak zacházet s přepínači ve skriptu Shell?

  3. Skript Shell visí na příkazu Mail?