Bash script in datei.xy schreiben

chrismaden

Keep it Low
Hallo,
ich möchte eine Php variable verändern in der datei /home/test.php
also so in etwa:
Die Datei test.php hat den inhalt: <?php $Pecho ?>
Möchte diesen inhalt ändern in: <?php $echo ?>
Wie funktioniert das?
Das sollte ohne Requests funktionieren.
 
2. Problem
ich möchte das der benutzer eine Variable angibt und die wird dann in der test.php datei ersetzt

dire="$Pecho"
read -p "(Default : $Pecho)" dire
if [ "$dire" = "" ]; then
dire="$Pecho"
fi
sed -i 's/\$dire/\$echo/g' /home/test.php

funktioniert ja so leider nicht
was muss geändert werden?
 
Du hast das escapen vergessen, er versucht $Pecho durch eine bash-Variable zu ersetzen
Code:
#!/bin/bash
dire="\$Pecho"
read -p "(Default : \$Pecho)" dire
if [ "$dire" == "" ]; then
        dire="\$Pecho"
fi
echo "Your value is: $dire"
 
Ja aber wenn ich dann die bash-variable angeben will
sed -i 's/\$dire/\$echo/g' /home/test.php
wird sie ja nicht erkannt er sucht dann in der test.php die bash-variable $dire und ersetzt es in $echo

dire="$Pecho"
read -p "(Default : $Pecho)" dire
if [ "$dire" = "" ]; then
dire="$Pecho"
fi
 
Du solltest dich mit der Bedeutung der verschiedenen Anführungszeichen beschäftigen. Single Quotes ('') haben in der Bash (und eigentlich auch fast allen anderen UNIX-Shells) eine andere Semantik als Double Quotes ("").
 
Back
Top