PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mit echo Skript erzeugen?



wdsl
09-06-2006, 23:20
Hi,
wieso kann ich nicht machen?


echo "#!" > bla.sh


kommt immer folgende Meldung



event not found


wenn ich



echo "\043!" > bla.sh


mache kommt das gleiche.

wie kann ich es machen? Es handelt sich dabei um einen einfachen Linux Bashbefehl mit dem ich ein Script erzeugen will.

vielen Dank
wdsl

moedule
10-06-2006, 00:03
echo '#!' geht

moe

wdsl
10-06-2006, 13:41
ah jetzt weis ich was du meinst.

Allerdings macht es jetzt keine Zeilenumbrüche mehr ;-( gibts dafür auch irgend eine Lösung?

sorry bin nicht so der Bash Experte.

vielen Dank
wdsl

colo
10-06-2006, 23:51
! = History char, muss escaped werden, wenn er literal interpretiert werden soll.

Beispiele zur Anwendung:

colo@zealot ~ $ echo jetzt klar? :\)
jetzt klar? :)
colo@zealot ~ $ !!
echo jetzt klar? :\)
jetzt klar? :)
colo@zealot ~ $ echo noch eine kleine histchar-demo: !:1
echo noch eine kleine histchar-demo: jetzt
noch eine kleine histchar-demo: jetzt
colo@zealot ~ $ echo noch eine kleine histchar-demo: !:1-3
echo noch eine kleine histchar-demo: noch eine kleine
noch eine kleine histchar-demo: noch eine kleine
colo@zealot ~ $ echo noch eine kleine histchar-demo: !:-2
echo noch eine kleine histchar-demo: echo noch eine
noch eine kleine histchar-demo: echo noch eine

hth.

Joghurt
11-06-2006, 00:22
Du kannst es auch mit heredocs machen:
cat > Skript.sh <<EOF
Alles hier bis EOF kommt nach Skript.sh
Variablen werden auch ersetzt. Path war zum Erstellungszeitpunkt $PATH
Ende Gelände.
EOF

403
13-06-2006, 09:40
Fuers Archiv:


1) Here Dokumente mit ' ' ' '.



cat <<'Endofmessage'

Unterdrueckt Substitutionen.

2) Here Dokumente mit '<<-'.


cat <<-ENDOFMESSAGE

Unterdrueckt fuehrende Tabs

Alle Details:

http://www.tldp.org/LDP/abs/html/here-docs.html