it-swarm.com.de

Echo-Befehl mit einer Variablen in Bash ausgeben

Ok, hier ist einer, mit dem ich kämpfe, während wir sprechen. Einen Echobefehl mit einer Variablen ausgeben.

echo "creating new script file."
echo "#!/bin/bash" > $servsfile
echo "read -p "Please enter a service: " ser " >> $servfile
echo "servicetest=`getsebool -a | grep ${ser}` " >> $servfile
echo "if [ $servicetest > /dev/null ];then " >> $servfile
echo "echo "we are now going to work with ${ser}" " >> $servfile
echo "else" >> $servfile
echo "exit 1" >> $servfile
echo "fi" >> $servfile

Mein Ziel ist es, ein Skript mit Echo-Befehlen zu erstellen und es später auszuführen. Ich muss nur herausfinden, wie Echo-/Lesebefehle unter Beibehaltung meiner Variablen wiedergegeben werden.

bearbeiten: Die Variablen müssen das, was sich in ihnen befindet, in die neue Datei übertragen.

20
David

Sie müssen nur einfache Anführungszeichen verwenden:

$ echo "$TEST"
test
$ echo '$TEST'
$TEST

Innerhalb von einfachen Anführungszeichen sind Sonderzeichen keine Sonderzeichen mehr, sondern nur noch normale Zeichen.

13
Mihai
echo "echo "we are now going to work with ${ser}" " >> $servfile

Escape all "in Anführungszeichen mit \. Tun Sie dies auch mit Variablen wie\$ servicetest:

echo "echo \"we are now going to work with \${ser}\" " >> $servfile    
echo "read -p \"Please enter a service: \" ser " >> $servfile
echo "if [ \$servicetest > /dev/null ];then " >> $servfile
8
GoinOff