hallo wie kann ich mit dem echo befehl ausrufezeichen in eine datei schreiben, ich weiß mit > aber ich möchte diese zeile eingeben bekomme aber einen fehler
der befehl in den anführungszeichen soll in die datei geschrieben werden, weiß das jemand von euch? *:*

wie kann ich ein shell script per shell per echo erstellen?
- noflow
- Thread is marked as Resolved.
-
-
-
Single statt double quotes (' vs ") nutzen.
-
-
-
Manul und llutz danke sehr, habe beide varianten ausprobiert.
noisefloor, ich denke hier im Forum ist die Großkleinschreibung nicht so wichtig wie wo anders.
Wenn du eine bestehende Datei nicht-unteraktiv modifizieren willst, dann ist sed die bessere Wahl.
noisefloor, was meinst du mit unteraktiv genau?
-
noisefloor, ich denke hier im Forum ist die Großkleinschreibung nicht so wichtig wie wo anders.
Du irrst dich, und zwar gewaltig.
-
-
also mir das sc hnurz Gross oder klein.
kenn das wenn man von US FR usw auf DE switcht da sind Fehler normal
zu deinem echo Problem : wie schon oben gesagt single oder double, maskieren usw
ist auch verschieden je nach shell die du benutzt meist sind die Tips hier für bash, bei sh zsh ksh ... kann das variieren
-
Hallo,
Quote
ich denke hier im Forum ist die Großkleinschreibung nicht so wichtig wie wo anders.Falsch gedacht. Heißt Tipp: wenn du dir weniger Gedanken darum machen willst -> nutz' ein englischsprachiges Forum. Sprachbedingt wird da mehr klein geschrieben.
Quote
was meinst du mit unteraktiv genau?Typo - soll "interaktiv" heißen....
sed ist ja eine Editor, der nicht-interaktiv arbeitet. Heißt, es öffnet sich kein Fenster wie z.B. bei nano, wo du dann interaktiv was editierst, sondern du gibts sed einen Befehl mit und die Datei wird nicht-interaktiv editiert.
Der Vorteil von sed gegenüber Umleitungen ist, dass du sed gezielt sagen kann, welche Zeile zu editieren ist.
Gruß, noisefloor
-
Über Groß kleinschreibung mache ich mir nicht nur weiterhin Gedanken, ich habe sogar Leute im Chat getroffen die sowas wie siri zum Chaten nutzen, beim schreien wird dann einfach alles groß geschrieben
und wenn siri was nicht lesen kann dann wird man auch mal gesperrt ^^...
Mein script sieht nun so aus:
Bash#!/bin/bash read -p "wie soll das skript.sh heiszen?: " var echo '#!/bin/bash' > $var.sh echo 'echo Willkommen Zurrück bei $var.sh' >> $var.sh chmod +x $var.sh ./$var.sh
und lader wird die $var.sh in quotes nicht auf gelöst, lusitg und auch garnicht schlimm
Willkommen Zurrück bei .sh
sed werde ich auf jedenfall ausprobieren, ich werde heute nur sed manual lesen.
-
-
gewöhnen wir uns doch einfach alle aus faulheit an nur noch klein zu schreiben und ohne satzzeichen zu verwenden wozu die mühe machen hat doch eh keinen sinn man kann doch alles lesen oder wir geben uns in zukunft gleichviel mühe bei der lösungsfindung mit unseren antworten wie ein to mit seiner frage
Bisher ist mir nur ein User bekannt, dem ich das krankheitsbedingt, unkommentiert durchgehen lassen würde.
-
-
gewöhnen wir uns doch einfach alle aus faulheit an
warum soll dein vorschlag denn für alle sein?
noflow: was ist eigentlich der tiefere Sinn des ganzen? Das Beispiel ist ja nur... sagen wir mal sehr begrenzt sinnvoll.
Wenn du X mal das gleiche Skript mit anderen Namen haben willst, dann leg' dir doch (Hard oder Soft) Links an, das ist sinnvoller.
1) Spass am programmeiren und an linux
2)wollte ich javaScript karteikarten machen und die funktionen aus dieser referec filtern http://overapi.com/javascript
ich habe auch ein w3m script geschrieben und die seiten runtergeldane , dabe habe ich schon mal entdeckt das alle beispiel codes bei git sind, die Git Adresse habe ich auch den HTML Seinten: https://github.com/mdn/interac…live-examples/js-examples.
jetzt fehlt mit nur noch die beschreibenung aus der reference, aber die sind nicht in den selben DOM TAGs, ist von Befehl zu Befehl anderes
hab hier noch einen tree ausschnitt, wie ich diese Idee strukturiert habe
Code
Display Morenoflow:~/praser $ tree . ├── cool.sh ├── cool.txt ├── domCloner.html ├── donloaded-sites │ ├── abs {...} │ ├── window.scrollX │ ├── window.scrollY │ ├── window.self │ ├── window.setInterval │ ├── window.setTimeout │ ├── window.status │ └── window.top ├── pre-prase ├── seoBeschreibung.txt ├── sh-ersteller.sh ├── temp ├── todo-protpcol.txt ├── url-quellen │ └── url-liste.txt ├── wbsiten-downloader.sh
Codenoflow:~/praser $ cat wbsiten-downloader.sh #!/bin/bash echo Willkommen Zurrück echo urls werden aus datei liste entnommen und in einem ordner abgespeichert echo von url-quellen/url-liste.txt nach ./donloaded-sites/ wget -i url-quellen/url-liste.txt -P ./donloaded-sites/
zu sed bin ich heute nicht gekommen war ja auch schönes wetter ;D
P.S. boa finde ich die smiles ungewohnt, kann man die nur als ASCII zeigen
-
-
Hallo,
Danke für die Erklärung. Nur ist mir daraus immer noch überhaupt nicht klar, warum und wo ein Bash-Skript ein andere Bash-Skript erzeugen soll.
Gruß, noisefloor
-
Danke für die Erklärung. Nur ist mir daraus immer noch überhaupt nicht klar, warum und wo ein Bash-Skript ein andere Bash-Skript erzeugen soll.
Einfach um 3 Zeilen Tippabeit zu sparen.
es muss erstellt werden
es muss ausführbargemacht werden
und die initialisirungs Zeile muss auch noch eingetragen werden
lieben Gruß, noflow
-
warum soll dein vorschlag denn für alle sein?
Das war kein Vorschlag, ich habe nur laut gedacht. Ich finde es enfach nur respektlos den potentiellen Helfern und der Nachwelt gegenüber.
Klar könnte ich nun mit Kanonen auf Spatzen schießen, Dir den Hammer zeigen (
) und Deinen Thread einfach schließen, weil Du Dich respeklos verhälst und nach mehreren aufforderungen Deine Schreibweise nich geändert hast, aber ich hoffe nach wie vor, dass Du eine gewisse Einsicht zeigst und an der Denkweise etwas veränderst. Chat != Forum!
-
-
...ich hoffe nach wie vor, dass Du eine gewisse Einsicht zeigst und an der Denkweise etwas veränderst. Chat != Forum!
Ich bin einverstanden und werde mir mehr Zeit für meine Beiträge nehmen.
Heute gibt es tolle Seiten zu lernen, ich kann nachvollziehen das die Nachwelt, in leserlichen Texten, besser recherchieren kann.
Mir ist nicht ganz klar wie man aus dem Forum besseres Lernmaterial zusammen stellen kann, aber ich habe auch nicht vor zu sabotieren.
-
Einfach um 3 Zeilen Tippabeit zu sparen.
- Einmalig ein Script Template erstellen
- dann bei Bedarf cp -a template.sh foo.sh
- done
-
Es gibt ein nettes bash Feature called here document. Damit laesst sich alles ganz einfach erschlagen
-
-
Hallo framp, ich habe herrausgefunden dass, man Scripte mit dem Befehl "source" ausführen kann, ohne die Datei ausführbar machen zu müssen.
Man kann source oder einne Punkt gefolgt von einem Leerzeichen eingeben.
-
Hallo framp, ich habe herrausgefunden dass, man Scripte mit dem Befehl "source" ausführen kann, ohne die Datei ausführbar machen zu müssen.
Das ist keine Besonderheit von source. Du kannst auch mit
meinSkript.sh starten, ohne meinSkript.sh vorher ausführbar zu machen.
Mit source wird es aber im Kontext der laufenden Shell ausgeführt, was nützlich ist, um Variablen zu laden, Aliase und Funktionen. Wenn das Skript aber am Ende ein exit 0 am Ende enthält, dann macht es paff, und die Konsole, mit der Du das aufgerufen hast, ist beendet.
Daher solltest Du source, oder gleichbedeutend den Punkt . nur aufrufen, wenn Du danach wirklich dort definierte Variablen, Aliase oder Funktionen nutzen willst.
Zur Ausgangsfrage: Wenn Du mehrere Zeilen ausgeben willst, dann kannst Du das auch mit einem Singlequote über mehrere Zeilen machen:
Das geht auch interaktiv in der Shell, aber Du musst aufpassen, dass Du kein Single-Quote (Apostroph) einfach so im Code benutzen kannst, damit schließt Du sonst unwillentlich Deinen Input. Nun ja, und es hat die Konsequenz, dass innerhalb der Singlequotes Variablen nicht aufgelöst werden, d.h. Du müsstest den Singlequote schließen, dann $var.sh schreiben, und dann wieder öffnen - das kann sich leicht zur Konzentrationsübung auswachsen.
Wenn Du viele Singlequotes hast, dann könntest Du auch mit Doublequotes arbeiten und müsstest dann, wie von Manul gezeigt, den Bang mit Backslash maskieren.