Skript autom. erstellen: 1.Zeile mit ! ist Problem: echo "#!/bin/sh [....]
Ich habe zur Vereinfachung des Ablaufes von dutzenden von Skripten auf eine frische Suse-Standard-Installation ein Skript gebastelt, das diesen dutzenden Skripten in ein großes DIALOG-Skript steckt. Dort steht dann häufig mal: echo "#!/bin/sh # # Skript zum blabla [...] Das mit dem ! macht mir noch Probleme. Wie maskiere ich das ! damit es bei Ausgabe über echo auch tatsächlich ausgegeben wird? Oder geht es nur über irgendwelche Octalsequenzen gesondert? danke schonmal Ekkard
Am Montag, 24. Januar 2005 21:48 schrieb Ekkard Gerlach:
Das mit dem ! macht mir noch Probleme. Wie maskiere ich das ! damit es bei Ausgabe über echo auch tatsächlich ausgegeben wird? Oder geht es nur über irgendwelche Octalsequenzen gesondert?
Jo, nimm ein 'echo -e "#\041/bin/sh..."' -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de
Am Montag, 24. Januar 2005 23:14 schrieb Manfred Tremmel:
Am Montag, 24. Januar 2005 21:48 schrieb Ekkard Gerlach:
Das mit dem ! macht mir noch Probleme. Wie maskiere ich das ! damit es bei Ausgabe über echo auch tatsächlich ausgegeben wird? Oder geht es nur über irgendwelche Octalsequenzen gesondert?
Jo, nimm ein 'echo -e "#\041/bin/sh..."'
jan@jack:~> echo '#! /bin/sh' #! /bin/sh Jan -- Linux-Quickies: http://www.jan-trippler.de PingoS: http://www.pingos.org
Hallo, Am Mon, 24 Jan 2005, Ekkard Gerlach schrieb:
Ich habe zur Vereinfachung des Ablaufes von dutzenden von Skripten auf eine frische Suse-Standard-Installation ein Skript gebastelt, das diesen dutzenden Skripten in ein großes DIALOG-Skript steckt. Dort steht dann häufig mal:
echo "#!/bin/sh # # Skript zum blabla [...]
Das mit dem ! macht mir noch Probleme. Wie maskiere ich das ! damit es bei Ausgabe über echo auch tatsächlich ausgegeben wird? Oder geht es nur über irgendwelche Octalsequenzen gesondert?
Nimm
echo '#!/bin/sh
...
'
oder
cat <<'EOF'
#!/bin/sh
...
EOF
oder
echo "#\!/bin/sh
...
"
oder
cat <
Hallo Ekkard, hallo Leute, Am Montag, 24. Januar 2005 21:48 schrieb Ekkard Gerlach: [...]
echo "#!/bin/sh # # Skript zum blabla [...]
Das mit dem ! macht mir noch Probleme. Wie maskiere ich das ! damit es bei Ausgabe über echo auch tatsächlich ausgegeben wird? Oder geht es nur über irgendwelche Octalsequenzen gesondert?
Verwende einfache Anführungszeichen ('...', Shift-#) statt der doppelten ("..."). Falls der auszugebende Text Variablen enthält, kannst Du auch eine Mischform nach folgendem Schema verwenden: echo 'test!'"$muster" Eine Alternative für Deinen Verwendungszweck wäre auch cat << EOF Gruß Christian Boltz PS: Ein FAQ-Text bezüglich Shell-Quoting ist in Arbeit, dauert aber noch etwas ;-) -- Linux wurde nur möglich, weil 20 Jahre Betriessystemforschung sorgfältig studiert, analysiert, diskutiert und verworfen wurden. [Ingo Molnar auf linux-kernel]
participants (5)
-
Christian Boltz
-
David Haller
-
Ekkard Gerlach
-
Jan.Trippler@t-online.de
-
Manfred Tremmel