Kommentarzeichen in Linux?

fanti

Cadet 4th Year
Registriert
Aug. 2009
Beiträge
119
Hallo Forum,

weiss hier jemand wie ich in einem Script mehrere Zeilen auskommentieren kann?
Normalerweise wird eine Zeile ja mit # auskommentiert. Dieser Kommentar geht jedoch nur
bis zum Zeilenende, ich will über mehrere Zeilen hinweg auskommentieren.

Ich verwende Ubuntu und den Editor Nano falls das wichtig ist.


Gruss fanti
 
geht Glaube nur mit # pro Zeile
 
Ein Script wird immer Zeilenweise von der Shell interpretiert. Deshalb musst Du alle Zeilen einzeln auskommentieren. Ein Konstrukt a la /* */ wie in Java funktioniert leider nicht.
 
Ja es ist bash gemeint, und das es keine zeilenübergreifende Kommentierung gibt macht meine Idee zunichte.
Ergänzung ()

Andere Idee:

Wie kann ich denn eine if Bedingung erstellen die immer wahr ist?
Dann packe ich den Code den ich nicht haben will in den else-Zweig und den true-Zweig lass ich einfach leer, geht das? Der Code im else wird ja dann übersprungen und da im true nichts steht passiert auch da nichts.
 
Zuletzt bearbeitet:
So hab mir was gebastelt womit es geht:
Code:
truevariable=0
if [ $truevariable = "1" ] ; then
( 

hier
kann
massenhaft und mehrere Zeilen lang Text stehen da die if-Bedingung
nie wahr wird. Und deshalb ist hier im "then"-Teil die Syntax doch auch egal.
Oder irre ich mich?
Einen false Zweig brauch ich dann auch nicht.
Jetzt kann ich jede Menge vom System automatisch importierte Kommandos auskommentieren 
und meine eigenen Befehle importieren.



)
fi

So sollte es gehen, und wenn den auskommentierten Teil doch braucht einfach der Variablen deen Wert 1 zuweisen.
EDIT: Grad getestet und läuft, jetzt nur noch einbauen.

MfG fanti
 
Zuletzt bearbeitet:
Die nächste Person tut sich schwer den Code zu verstehen. Ist einfach unsauberer Code meiner Meinung.
Wenn man schönen Code schreiben will, dann mach es wie es vorgegeben ist. In jeder Zeile ein # oder ist dir das zu viel? ;)
 
Ich will einen Programmteil auskommentieren der aus einer grafischen Bedienoberfläche in eine Konfigurationsdatei automatisch importiert wird. Hier kann ich nicht mit dem normalen Kommentarzeichen arbeiten da es überschrieben werden würde, wenn die Bedienoberfläche aufgerufen wird.

An der für den Import zustängigen Datei möchte ich keine Änderungen vornehmen, was übrigens wesentlich mehr arbeit wäre und auch nicht verständlicher.

Außerdem muss nur ich allein damit Leben, daher .....
 
Zuletzt bearbeitet:
Öhhhhm ich bin grad am Java lernen und daher würde ich mal denken das es mit
Code:
if( true ) {
  # zu wiederhollendes Zeugs
}
gehen Könnte. Hab aber kaum erfahrung mit Bash. Bin noch nicht bis zur shell Programmierung durchgedrungen.

Musst halt sehen das du eine if verzweigunng machst wo die bedingung der paramter true ist
 
Wegen mehrzeiligen Kommentaren:
Eigentlich gibts die nicht. Man kann allerdings ein sog. "here document" zum Kommentieren zweckentfremden. Beispiel:

Code:
#!/bin/bash
echo schni schna 
true << "KOMMENTAR_ENDE"
Hier kannst du allen Blödsinn als Kommentar
reinschreiben.

das Stichwort "KOMMENTAR_ENDE" wirkt nur als Begrenzer, wenn es allein auf einer Zeile steht.
Steht es weiter hinten
    KOMMENTAR_ENDE
wirkt es nicht. Steht es zwar vorn, aber nicht allein auf der Zeile
KOMMENTAR_ENDE xxxx
wirkt es auch nicht.

Leerzeilen, Sonderzeichen  $%&/'#*~><@| und  #Kommentare /* stören nicht. */
So ... nun machen wir mal Schluß. Die nächste Zeile kennzeichnet das Ende.
KOMMENTAR_ENDE
echo schnappi
Alles zwischen der Zeile mit true und der "KOMMENTAR_ENDE"-Zeile wird dem true auf die Standardeingabe geschickt. true frißt das brav und tut sonst nichts. So kann man beliebig lange Kommentare in Skripte einbauen. Das hinter dem << stehenden Stichwort zu Kennzeichnung des Endes des "here documents" darf in dem Pseudokommentar nicht alleinstehend an einem Zeilenanfang vorkommen.

Das obige Beispielprogramm macht also effektiv nichts anderes als
Code:
#!/bin/bash
echo schni schna 
echo schnappi
und ist doch sehr schön mehrzeilig kommentiert, oder? ;)

In so einenem here document läßt sich auch wunderbar eine Konfigdatei für ein anderes Programm in dem Bash-Skript lagern.

Deine Variante mit nie zutreffendem if-Block geht auch, aber dann ist der Kommentar deutlich eingeschränkter als bei einem here document und das Skript ist nicht korrekt, auch wenn es läuft.
 
Zuletzt bearbeitet:
Danke mensch183,

dieses "here document" kannte ich gar nicht und ist in der Tat um einiges besser als das was ich selber gebastelt hab.

Ich bin noch relativ neu bezüglich Linux und das mit der if ist mir spontan eingefallen. Ich nehm dann aber deinen Vorschlag, der gefällt mir besser:volllol:.

MfG fanti
 
Zurück
Oben