Zum Inhalt springen

Skriptgesteuert Text einer .conf-Datei anhängen?


sux

Empfohlene Beiträge

Wie kann ich Text in einem Skript einer Datei anhängen? Mit welchem Befehl?

Der Text in dem Skript (/bin/fstabanhang.sh) wäre zum Beispiel:

/img/$1.iso /cd/$1 iso9660 auto,loop,ro,user 0 0

So, jetzt will ich einfach nur /bin/fstabanhang.sh testtext eingeben und in der fstab soll dann /img/testtext.iso /cd/testtext iso9660 auto,loop,ro,user 0 0 hintendrangehängt werden.

Gruß

sux :confused:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, geil, ich trottel, wie konnte ich den echo-Befehl vergessen, vielen Dank.

Aber irgendwie funzt das immer noch nicht. Ich habe als root keine Berechtigung, obwohl die Datei mir gehört. Ich habe mir sogar explizit alle Rechte gegeben. Woran liegt das jetzt? Ich habe sogar versucht, in eine Testdatei zu schreiben, er macht es nicht. Liegt das vielleicht an dem $1 als Platzhalter?

Wie gesagt, ich gebe nur /bin/fstabeintrag.sh <imagename> ein und er soll als $1 den imagenamen nehmen.

Gruß

Joel

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von sux

Ich habe sogar versucht, in eine Testdatei zu schreiben, er macht es nicht.

Seltsam, ich habe zwar nicht versucht in die fstab zu schreiben, aber in eine Testdatei, und das klappt bei mir hervorragend.

Poste doch bitte mal den Source des Skripts, vielleicht hast ja noch irgendeinen Fehler drin...

ICQ

Link zu diesem Kommentar
Auf anderen Seiten teilen

Schon passiert das Backup, keine Frage.

Die Datei hat die Rechte 774 also Benutzer und Gruppe vollzugriff, für die beiden habe ich sogar das Spezialattribut gesetzt, mal ausprobieren, aber hat auch nicht geklappt.

Vielen Dank für eure Mühe

sux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Klar, habe ich schon versucht, das funktioniert einwandfrei. Ich habe ja das Gefühl, dass es an diesem $1 liegt, dem Platzhalter. Vielleicht bekommt er das nicht gewechstelt. Obwohl $1 in einem anderen Skript geht, ohne Probleme. Ich habe die fstab ja schon manuell geändert. Das war eine Schweinearbeit, aber für meine Kollegen in Hintertupfingen, die das Gerät benutzen sollen muss es ein bisschen einfacher sein, deshalb diese Rumskripterei, verstehst?

sux

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja keine Berechtigung wahrscheinlich deswegen, weil nichts bzw. das falsche für $1 eingesetzt wird.

schreib mal ein Testskript...

und führe es wie folgt aus:

./testscript huhu

und das Skript:

#! /bin/bash

param1="$1"

echo "Das Skript wurde mit dem Parameter: '$param1' aufgerufen."

So was gibt jetzt dein Skript jetzt aus???

Das hier:

Das Skript wurde mit dem Parameter: '' aufgerufen.

ich möchte das sicher wissen, weil ich es mir einfach nicht ganz vorstellen kann, sorry

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also zum Verständnis:

Skript (z.B. fstabeintrag.sh):

#!/bin/bash

echo /img/$1.iso /cd/$1 iso9660 auto,loop,ro,user 0 0 >> /etc/fstab

Parameter ist $1

Befehl: /bin/fstabeintrag.sh imagename

Dadurch soll in die fstab folgender Eintrag gemacht werden:

/img/imagename.iso /cd/imagename iso9660 auto,loop,ro,user 0 0

Es ist nichts weiter, als eine CD standardmäßig zu mounten, deshalb der fstab-Eintrag. Die CDs sollen doch immer zur Verfügung stehen, oder? Und $1 ist doch der Platzhalter, den ich durch (in diesem Fall) imagename belege.

Ich habe ja schon einige Skripte, in denen ich mit $1 arbeite, aber in diesem Fall funktioniert es nicht, warum auch immer.

Gruß

sux

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja ich habe das schon verstanden, nur ist mir überhaupt nicht klar, warum $1 nicht funktioniert...

Könntest ja mal spaßhalber $2 nehmen, dann müsste natürlich der Aufruf so sein: ./skript test imagename und das in deinem skript anpassen...aber ich hab echt keinen Rat mehr, es ist schwierig dir so zu helfen, wenn ich nicht an die Kommandozeile rankomme...egal..

Hast du denn schonmal versucht eine Liste der images zu erstellen?

img1

img2

img3

img4

und dann:

#! /bin/bash

while read line; do

echo "echo /img/$line.iso /cd/$line iso9660 auto,loop,ro,user 0 0 >> /etc/fstab";

done < img.liste

mach die Liste für den Anfang nicht zu groß und nimm erst beim 2. Versuch das echo weg..is nur debug

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jau Schlaubi,

ich habe gerade die Tischplatte am Wickel, Du hattest Recht, ich mußte die Datei auch ausführbar machen. Sowas einfaches und bescheuertes und ich komme nicht drauf. *****!

Vielen Dank für Deine Hilfe

Ach, eine Frage hätt´ ich da noch:

Kann man eine Partition umbenennen? Also beim Installieren habe ich mit Diskdruid der zweiten Festplatte die Partition /img zugewiesen. Jetzt fällt mir auf, dass ich sie besser anders genannt hätte. Ist das lediglich in der fstab festgelegt, dass ich das nur dort ändern muß, oder gibt es da noch andere Möglichkeiten?

Gruß

sux

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von sux

Kann man eine Partition umbenennen? Also beim Installieren habe ich mit Diskdruid der zweiten Festplatte die Partition /img zugewiesen. Jetzt fällt mir auf, dass ich sie besser anders genannt hätte. Ist das lediglich in der fstab festgelegt, dass ich das nur dort ändern muß, oder gibt es da noch andere Möglichkeiten?

Moin,

du meinst sicherlich, das du die Partition in das Verzeichnis /img eingehängt (gemountet) hast ?

in diesem Fall einfach die Partition unmounten,das Verzeichnis umbennen, und wieder neu mounten. Dies auch in der fstab ändern.

Gruß

Terran

Link zu diesem Kommentar
Auf anderen Seiten teilen

....Hätte nicht gedacht dass ich in die Tischplatte beißen muss....ich kam auch erst überhaupt nicht darauf, weil du ja meintest du hättest schonmal Skripte geschrieben und dann dacht ich mir - nö, der hat das bestimmt ausführbar gemacht...das ist nämlich der 2te Schritt (1. touch skriptname) wenn ich ein Skript erstelle....

Whatever..ja Terran Marine hat recht....was du meinst ist nicht die Partition umbenennen sondern den Mount-Point...einfach ein:

root:~# umount /img

und

dann die /etc/fstab so ändern dass z.B. statt /img nimmst du /cd

dann wird bei booten in der /etc/fstab nachgeschaut und die Partition z.B. /dev/hdb2 nach /cd eingehängt

bzw. "montiert"..und dann kannst du auf deine 2te Platte mit cd /cd zugreifen (musst alles auf deine Bedürfnisse anpasssen). Bevor das nach /cd eingehängt werden kann muss es das Verzeichnis erst mal geben, als nur die /etc/fstab änder is nicht - auch nachsehen und sicherstellen dass das Verzeichnis/Mount-Point vorhanden ist also -> /cd

jetzt wie schon mein Vorredner gesagt das Verzeichnis erstellen oder das andere umbennen...

und wieder mounten:

root:~# mount /dev/hdb? /cd && ls /cd

PS: Ob du nun erst die fstab änderst und dann umountest oder zuerst umountest dann wieder mountest und dann die fstab änderst bleibt dir überlassen....umount/mount regeln das ganze im laufenden Betrieb und die fstab ist dafür zuständig das mounten zu vereinfachen weil du nicht mehr sagen musst:

mount /dev/blubb /mnt sondern es reicht dann mount /mnt zu sagen.....und außerdem ist sie dafür gut, wenn man filesysteme nach einem neustart wieder autom. gemountet haben will...sie kann natürlich noch viel mehr.....aba da empfehle ich dir google ;)

@Terran Marine: sorry fürs wiederholen...aber ich konnt ja schlecht nur das mit der Tischpladde hinposten *gg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...