Einfaches Bash-Linux-Skript zum Ausführen gespeicherter Prozeduren - Linux, Bash, Shell, Unix

Ich brauche ein Bash / Linux-Shell-Skript, das meine gespeicherte Prozedur nur am Mittwoch ausführt.

Ich bin neu in Bash Shell Scripting.

Unten ist, was ich herausgefunden habe:

test.sh

#!/bin/bash

MYSQL="/usr/bin/mysql --compress -hlocalhost -utest -ptest test";

dayofweek=`date +%a`

#if [ ${dayofweek} ="Wed" ] ; then ${MYSQL} -e "CALL testSummary();"; fi ;

Wenn ich es betreibe:

sh test.sh, sagt es:

: Befehl nicht gefunden

Vielen Dank.

Antworten:

0 für die Antwort № 1

Wie wäre es mit Laufen? CALL testSummary() von MySQL Eingabeaufforderung? Außerdem [ ${dayofweek} ="Wed" ] sollte sein [ ${dayofweek} = "Wed" ], kein anderes Problem mit deinem Skript

Ich habe eine einfache testSummary-Prozedur erstellt, sie druckt nur den Wert von select 1 + 1Das Ausführen des Skripts gibt mir die korrekte Ausgabe.


0 für die Antwort № 2

Ich verstehe nicht, warum Sie den Befehl nicht gefunden Fehler bekommen. Könnte nicht das -e "CALL testSummary();" Teil sein, was gibt es?

Sowieso: Du brauchst es nicht

#!/bin/bash

Wenn Sie es mit ausführen

$ sh test.sh

Jetzt, wenn Sie dieses Skript mit ausführbar gemacht haben

$ chmod + x test.sh

dann tun $ ./test.sh wäre gleichbedeutend mit Berufung /bin/bash test.sh.

Entscheiden Sie, ob Sie bash oder sh verwenden möchten. Sie sind anders.

Wenn Sie regelmäßig etwas unter Linux ausführen möchten, sollten Sie sich Folgendes ansehen: https://help.ubuntu.com/community/CronHowto


Am beliebtesten