• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Standard-Konsolo-Befehle zu einem kombinieren

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?
 
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:
#!/bin/bash
cd /Documents/ivtv/utils
ptune-ui.pl
mplayer /dev/video0
 
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.
 
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 ;)
 
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 :(
 
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.
 
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.
 
#!/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.
 
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.
 
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.
 
Oben