2016-03-25 2 views
0

Ich bin ziemlich neu im Skripting und könnte einige Hilfe verwenden.Verwenden einer Variablen zum Aufruf bestimmter Funktionen in einem Bash-Skript

Ich habe mehrere Skripte auf verschiedenen Servern (dasselbe Betriebssystem, andere Anwendungen), die Wartung von Dateisystemen durchführen. Ich möchte ein großes Skript machen, das ich von cron mit einer "Variable" aufrufen kann, die anzeigt, welche Funktion (en) ausgeführt werden sollten. Zum Beispiel, fast alle Server erleben Heap-Dumps, so dass ich möchte, dass auf allen von ihnen laufen, aber jede App hat andere Anforderungen für ihre spezifische App, so würde ich gerne eine Variable in Cron weitergeben das Skript, welche zusätzliche Bereinigung erforderlich ist (Funktion). Ich habe den Funktionsteil runter, muss nur wissen wie ich ihn nenne.

fand ich einige Beispiele, die in cron so etwas wie dieses zeigen:

00 23 * * * /home/user/scripts/filesarchive.sh "variable_name"

Ich würde also cron haben möchten Führen Sie das Skript aus, aber führen Sie dann basierend auf der Variable, die ich in "Variablenname" eingegeben habe, bestimmte Funktionen innerhalb des Skripts aus.

Ich kann nicht herausfinden, wie das Skript angewiesen wird, den "Variablenname" vom Ende des Cron-Befehls zu nehmen, und dann die Funktion ausführen.

Ich bin sicher, es ist super einfach, aber ich kann nicht finden, wonach ich suche.

Jede Hilfe wäre willkommen! Vielen Dank!

OS: RHEL Shell: Bash

Antwort

0

Ich schlage vor, Funktionen zu nutzen.

dieses Skript Versuchen mit /home/user/scripts/filesarchive.sh foo oder /home/user/scripts/filesarchive.sh bar:

#!/bin/bash 

foo() { 
    echo "in foo" 
} 

bar() { 
    echo "in bar" 
} 

"$1" 
Verwandte Themen