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!