Probleme mit einfachen Anführungszeichen in einem Bash-Skript

Ich versuche, einen Befehl aus einem Bash-Skript auszuführen. Der Befehl selbst enthält einfache Anführungszeichen, aber ich kann sie nicht zum Funktionieren bringen, da die einzelnen Anführungszeichen Variablen enthalten, die erweitert werden müssen. Hier ist das Bash-Skript:

#!/bin/bash

if [ "$2" == "PracSci" ];
then
    echo "Running tabulate.science.r"
    R CMD BATCH --no-save --no-restore --slave '--args $1 $2 $3' tabulate.science.r /dev/tty
else
    echo "Running tabulate.r"
    R CMD BATCH --no-save --no-restore --slave '--args $1 $2 $3' tabulate.r /dev/tty
fi

Wenn ausgeführt als./script.sh 2 Vocab May12 Beispielsweise wird der Befehl selbst ohne die Variablenwerte ausgeführt.

Wie kann ich die Variablen erweitern, während der Befehl ausgeführt wird?

Um es klar auszudrücken: Der Befehl, den ich ausführen möchte, lautet:R CMD BATCH --no-save --no-restore --slave '--args $1 $2 $3' tabulate.r /dev/tty (einschließlich der einfachen Anführungszeichen im Befehl).

Vielen Dank!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage