Ich kann irgendwie nicht herausfinden, wie Sie ein selbst geschriebenes Programm mit Argumenten aus einem Shell-Skript starten. Wenn ich in einem Ordner, deren übergeordneten Ordner enthält die binäre bin, dann kann ich das Programm mitSo starten Sie eine benutzerdefinierte Binärdatei mit Optionen und Argumenten aus einem Shellskript
$ ../binary --opt1 arg1 --opt2 arg2
Jetzt beginnen, sagt die Argumente und Optionen in einer Datei args im aktuellen Ordner aufgelistet sind.
args.txt:
--opt1 arg1 --opt2 arg2
Wenn ich versuche, die binäre von einem Shell-Skript im aktuellen Ordner wie ausführen:
$ ./script.sh args.txt
script.sh:
#!/bin/bash
if [ $# != 1 ]
then
exit 1;
fi
params=$(<"$1")
../binary "$params"
# ../binary <<<"$params" doesn't work either.
Wie kann ich das machen?
Edit (aktualisiert Skript):
#!/bin/bash
if [ $# != 1 ]
then
exit 1;
fi
params=$(<"$1")
START=$(date +%s)
../binary "$params"
# ../binary <<<"$params" doesn't work either.
END=$(date +%s)
DIFF=$(($END - $START))
echo "Test took $DIFF seconds"
Ich weiß, dass ich es aus einem Skript aufrufen möchte, weil ich den Befehl zwischen zwei "Zeitbefehle" einbetten, um die Latenz zu messen. Vielleicht sollte ich bearbeiten, um zu klären – FloriHe
Ich bearbeitete die Antwort. Ich habe es auf diese Weise getestet und es funktioniert gut für mich. – cmks
Arbeitete, aber ich denke, "$ 1" schreiben ist sicherer, wegen der Worttrennung. – FloriHe