PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Skript für Befehlabfolge?



UNearth
13.01.07, 23:54
Hi!

Kann mir jemand erklären wie ich ein Skript oder wie auch immer das heisst, schreibe das mir eine Abfolge aus 2 Befehlen (die ich sonst in der konsole eingeben müsste) automatisch ausführt?

Befehl 1 soll sein: echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
Befehl 2 soll sein: et

Kann mir einer helfen?

Rain_maker
13.01.07, 23:59
http://www.bin-bash.de/scripts.php

Greetz,

RM

Max Power
14.01.07, 00:00
Wenn man sich es einfach macht einfach


#!/bin/sh
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss && et


Gibt aber bestimmt ne bessere möglichkeit

Sector
14.01.07, 00:01
Also mach einen Editor deiner Wahl auf. Dann eröffnest du eine neue datei was was ich die soll heißen myprog.

Da schreibst du folgendes rein.



#!/bin/sh
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
et


Auf diese datei machst du dann ein chmod 755 myprog. Das wars, nun noch dahin kopieren wo es für das System auffindbar ist z.b nach /usr/bin und das was dann.

Nun kannst du eine Konsole öffen und myprog eingeben und dann werden die beiden Befehle ausgeführt.

Ich hoffe ich konnte dir helfen.

MiGo
14.01.07, 00:01
Das ist schwer:

echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
et

Da hast du schon dein Fertiges Script - im Endeffekt ist das eine Textdatei mit allen Befehlen, die du ansonsten eintippen würdest.

Um deinem System die Arbeit noch einfacher zu machen solltest du
- noch den Text "#!/bin/sh" als erste Zeile verwenden (damit ganz sicher gestellt ist, dass es als shellscript erkannt wird)
- die Scriptdate mit "chmod +x scriptdatei" noch ausführbar machen
- und sie in ein Verzeichnis packen, dass in $PATH (echo $PATH zeigt dir das ganze) liegt.

Dann kannst du das ganze einfach durch Eeingabe des Scriptnames aus der Kommandozeile starten - du kannst natürlich auch eine Verknüpfung auf den Desktop legen.

kreol
14.01.07, 00:04
#!/bin/bash
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
etAlso die Befehle einfach als Textdatei anlegen und die Datei ausführbar machen: "chmod a+x scriptname". Aufrufen aus dem Verzeichnis heraus mit "./scriptname". Wenn Du eine andere Shell verwendest als die bash dann ersetze das bash z.B. durch sh oder zsh oder was auch immer Du verwendest.

Du kannst Dir anschliessend auch auf dem Desktop (welchen Desktopmanager verwendest Du?) einen Link auf das Script anlegen und geräuschiges ET mit Mausklick starten...


Kreol

P.S.
LOL. Vllt. kommt ja noch ein Beantwortungsnachzügler :p

UNearth
14.01.07, 00:12
hoho =D kreol hat aufgepasst ^^

soa nu hab ich 3 verschiedene versionen =D
@kreol kde benutz ich ^^

okay machn wirs etwas präziser:
ich will am end einen icon aufm desktop haben, draufklicken un ein "geräuschiges et" ;) startet

also einfach editor !#sowieso un die befehle hinten dran?

kreol
14.01.07, 00:16
Wie hier vielfach beschrieben: Du erstellst mit dem Texteditor Deiner Wahl eine Datei genannten Inhalts und machst sie ausführbar.

Dann auf dem Desktop ein Rechtsklick - Neu erstellen - Verknüpfung zu Programm

Dort den Pfad zum Script angeben und gut.


Kreol

UNearth
14.01.07, 13:12
hi! das skript scheint zu funktionieren, nur: der erste befehl muss mit root-rechten ausgeführt werden =/
kann man das irgendwie mit einprogrammieren?

Rain_maker
14.01.07, 13:15
Sudo ist Dein Freund.

http://www.easylinux.de/2004/11/077-guru-sudo/

Greetz,

RM

UNearth
14.01.07, 13:42
danke so desinformiert bin ich auch nich...

das eigentliche problem ist, diesen sudo-befehl AUTOMATISCH ablaufen zu lassen, will heissen entweder die passwortabfrage in einem fenster zu machen, das aufspringt oder den vorgang gänzlich ohne passwortabfrage zu machen

Rain_maker
14.01.07, 13:46
Schau in die /etc/sudoers, da steht sowas wie:



# User privilege specification
root ALL=(ALL) ALL
test ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
%wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
ALL ALL=NOPASSWD:/bin/mount -o loop* -t iso9660* /home/*/.kisotmp/* ,/bin/umount /home/*/.kisotmp/*

Und dafür
will heissen entweder die passwortabfrage in einem fenster zu machen, das aufspringt solltest Du Dir die erweiterten Optionen (für KDE, wie das bei GNOME heisst, weiß ich jetzt gerade nicht) beim Einrichten der Verknüpfung ansehen, auch dafür gibt es genau das Passende.

Greetz,

RM

UNearth
14.01.07, 14:11
an die datei sudoers komm ich nicht dran auch mit root-rechten wird mir der zugriff verweigert...

Rain_maker
14.01.07, 14:22
Du hast den von mir verlinkten Artikel gelesen?

Wenn ja, was wird Dir ausgespuckt, wenn Du versuchst zuzugreifen? Wie versuchst Du zuzugreifen?

Mit der Fehlerbeschreibung oben kann keiner was anfangen.

Greetz,

RM

UNearth
14.01.07, 15:02
aalso ich habs auf 2 wegen versucht:
einmal über die systemverwaltungs-konsole mit cd /etc und dann ./sudoers
Meldung: Permission denied

Dann noch über die normale konsole mit: sudo sh /etc/sudoers
Reaktion:
/etc/sudoers: line 19: Defaults: command not found
/etc/sudoers: line 20: Defaults: command not found
/etc/sudoers: line 26: Defaults: command not found
/etc/sudoers: line 27: syntax error near unexpected token `('
/etc/sudoers: line 27: `ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!'

kreol
14.01.07, 15:05
an die datei sudoers komm ich nicht dran auch mit root-rechten wird mir der zugriff verweigert...Es wurde ja schon erfragt: Lliefere doch einfach Befehl und Fehlermeldung im Wortlaut. copy&paste, code-Tags aussentum und gut. Das ist immer noch am informativsten...

Und die /etc/sudoers solltest Du mit "visudo" bearbeiten, die manpage dazu gibt weitere Info. Du versuchst, die Datei auszuführen, das macht keinen Sinn. Es ist eine Konfigurationsdatei, die Du bearbeiten musst. Üblicherweise mit einem Texteditor, in diesem besonderen Fall mit "visudo"


Kreol

Rain_maker
14.01.07, 15:15
*Seufz*

Laß mich Dir vorlesen, worauf ich Dich schon zweimal hingewiesen habe:



Elegant und ohne Root-Passwort: sudo
Das Programm sudo ("substitute user, do") bietet eine elegante Möglichkeit, gezielt Benutzern und Gruppen von Benutzern Administrationsrechte zu geben, ohne dafür das root-Passwort zu verraten. Der Benutzer setzt sudo ganz einfach mit seinem eigenen Passwort ein und erhält für einen begrenzten Zeitraum das Recht, bestimmte Befehle so auszuführen, als wäre er der Administrator.
Voraussetzung ist, dass Sie als Administrator root die Datei /etc/sudoers entsprechend anpassen, auch das Paket sudo muss installiert sein. Sie bearbeiten diese Datei mit einem Text-Editor (wie Kate oder KWrite), rufen diesen Editor aber nicht direkt auf, sondern verwenden das Programm visudo. Es bietet folgende Vorteile: Die Datei ist während der Bearbeitung "gesperrt", d. h. niemand anders kann schreibend darauf zugreifen, und nach dem Abspeichern und Verlassen prüft das Programm die geänderte Datei und weist auf eventuelle Fehler hin.
Um die sudo-Konfiguration zu ändern, werden Sie zunächst in der Shell zu root. Unter SuSE Linux geben Sie dazu sux ein, bei den anderen Distributionen su. (Bei SuSE Linux ist die su-Variante sux notwendig, damit Sie anschließend noch grafische Anwendungen starten können.) Im nächsten Schritt starten Sie visudo mit einem Kommando der folgenden Form:
EDITOR=kwrite /usr/sbin/visudo

Wollen Sie statt kwrite einen anderen Editor verwenden, ändern Sie den Aufruf entsprechend ab, z. B. in
EDITOR=kate /usr/sbin/visudo

Nach kurzer Wartezeit erscheint ein Editor-Fenster mit der geöffneten sudo-Konfigurationsdatei. Wir zeigen Schritt für Schritt, wie Sie einem Benutzer uneingeschränkte root-Rechte einräumen.


danke so desinformiert bin ich auch nich...

*No Comment*

Greetz,

RM