Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

Standard-Konsolo-Befehle zu einem kombinieren

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Standard-Konsolo-Befehle zu einem kombinieren

Beitrag von JanDD »

Hi.

ich öffne x-mal täglich die Konsole um immer das gleiche einzutippen (TV kucken):
1) cd /Documents/ivtv/utils
2) ptune-ui.pl
3) mplayer /dev/video0

Gibt es auch eine Möglichkeit, dass ich obige Anweisungen im Hintergrund lade und TV wie ein Programm/Script starten kann. Ich stelle mir das (illusorisch?) so vor, dass auf meinem Desktop eine Datei/Programm anklickbar ist und sich nun von selbst das ptune-Perl-Programm öffnet sowie der mplayer.

Möglich?
Benutzeravatar
Martin Breidenbach
Ultimate Guru
Ultimate Guru
Beiträge: 5632
Registriert: 26. Mai 2004, 21:33
Wohnort: N 50.17599° E 8.73367°

Beitrag von Martin Breidenbach »

Ja klar - schreib eine Skriptdatei.

Eine Skriptdatei ist eine Textdatei in der die Befehle drinstehen. Die Skriptdatei wird außerdem mit chmod +x ausführbar gemacht. Weiterhin sollte bei einer Skriptdatei die erste Zeile angeben welches Programm die Skriptdatei abarbeitet (bash, perl, python...). In diesem Fall also die bash. Deswegen:

Code: Alles auswählen

#!/bin/bash
cd /Documents/ivtv/utils
ptune-ui.pl
mplayer /dev/video0 
Nicht Böse sein ! Der Onkel macht doch nur Spaß !
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

besten dank.
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

Nachtrag: Wie würde die Zeile aussehen, damit der Nutzer, der das Shell-Skript ausführt, selbst in ein Eingabefenster eingeben kann, ob dev/video0 oder dev/video1 usw.zu starten ist. Ist dies möglich? Kenne mich in diesem Gebiet leider nicht aus. Sry.
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus »

ja klar ist das möglich ;)

lies dich mal ein wenig hier ein:
Advanced Bash-Scripting Guide
An in-depth exploration of the art of shell scripting
http://www.tldp.org/LDP/abs/html/

wenn du dein script überarbeitet hast und Probleme auftauchen, meldest du dich wieder ;)
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

Hi,

habe nun ein ganz einfaches Eingabebeispiel zu Hilfe genommen:
#!/bin/bash
# "Reading" variables.

echo -n "Enter the value of variable 'var1': "
# The -n option to echo suppresses newline.

read var1
# Note no '$' in front of var1, since it is being set.

echo "var1 = $var1"
Auch habe ich die Rechte für alle auf "voll" gesetzt, ausführen ist auch möglich. Wenn ich das Shell-Script aus dem Explorer heraus anklicke, passiert garnichts :(
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus »

rufe es mal aus einer Konsole heraus auf.
aber du hast es im Prinzip schon richtig gemacht ;)

ansonsten, wenn du es als icon via Desktop starten willst, sind noch ein paar Besonderheiten zu beachten, die würde ich aber erst am Schluss angehen.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

Danke für den Tipp. Über die Konsole funktioniert es nun:
#!/bin/bash
echo -n "Bitte Dateiname angeben:"
read dateiname
cat /dev/video0 > $dateiname
Da das Skript aber für meine Familienmitglieder ausgelegt werden soll, denen ich keine Konsole zumuten kann, müsste es noch via Desktop gehen :) Für jeden Tipp dankbar.
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus »

langsam, zeig erst mal dein komplettes script her ;)
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

#!/bin/bash
echo -n "Bitte Dateiname angeben:"
read dateiname
cat /dev/video0 > $dateiname
Das Skript ist wirklich sehr primitiv; es soll nur helfen, dass meine Family "ohne Wissen" den aktuell ausgewählten TV-Channel aufnehmen kann.
Benutzeravatar
oc2pus
Ultimate Guru
Ultimate Guru
Beiträge: 6506
Registriert: 21. Jun 2004, 13:01

Beitrag von oc2pus »

ok, aber dieses script schreibt etwas in eine Variable <dateiname>, danach beendet sich das script und die Variable ist weg.

Deshalb musst du erst deine Abfragen nach dateiname und channel erledigen und im gleichen Script die anderen Befehle unterbringen.
tell people what you want to do, and they'll probably help you to do it.
PackMan
LinWiki : Das Wiki für Linux User
JanDD
Member
Member
Beiträge: 63
Registriert: 5. Jul 2004, 21:13

Beitrag von JanDD »

Hi oc2pus,

den Channel brauche ich nicht zu bestimmen, da ich das schon mit einem extra-script gemacht habe. Ich benötigen nur $dateiname.
Deshalb musst du erst deine Abfragen nach dateiname und channel erledigen und im gleichen Script die anderen Befehle unterbringen.
Die Abfrage nach $dateiname ist ja erledigt mit read dateiname...Was meinst du mit andere Befehle? Der Befehl ist ja nur der eine: cat /dev/video0 > $dateiname. Beides ist im Script, nur eben geht es derzeit leider nur via Konsole.
Antworten