Kezdőlap › Fórumok › Programozás › Bash script
- This topic has 437 hozzászólás, 56 résztvevő, and was last updated 13 years, 7 months telt el by
Goosfrabaa.
-
SzerzőBejegyzés
-
2008-01-07-21:41 #2053459Code:#!/bin/bash
for i in `ls $1/*` ; do
if [ -x $i ]; then
$i &
else
echo „$i nem futtatható”
fi
doneElmented start néven.
Indítás így: start az_a_mappa_amiben_vannak_a_futtatható_dolgaid
2008-01-07-21:48 #2053460köszönöm szépen, működik.
elnoyle
2008-02-16-12:36 #2053461Lehet nem ide tartozik, de segítséget kérnék olyan ügyben mint tv felvétel.
Maga a felvevő script működik, de szeretném kérdés-felelet formában megoldani a dolgot.
Kérdezze meg hogy melyik adó, milyen hosszú a felvétel, és annak megfelelően állítsa be a frekit, endpos-t.
Ez az adó és freki párosítás egy külön fájlban ösze van gyűjtve. De tovább megyek ugyanitt összegyűjteném a delogo beállításokat is. és azt is be kéne fűzni a scriptbe.Jelenleg vizsla módszere alapján így van a dolog megoldva:
Code:# Hang beállítása
/usr/bin/aumix -l 0 -l R -i 75# A felvétel idejére figyelni…!
HOSSZ=”00:00:30″# Csatorna
CHANNEL=”freq=224.250″TODAY=$( date +%Y-%m-%d )
NOW=$( date +%H:%M )FILE_NAME=”Tv_rip”
UTVONAL=”/mnt/egyebek/videos/From_tv”
FILE=”${UTVONAL}/${FILE_NAME}/${FILE_NAME}_${TODAY}_${NOW}”
LOGFILE=”${UTVONAL}/${FILE_NAME}”# A régi log-ok letörlése
rm -f ${LOGFILE}*.logTV_OPT=”driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0″
TV_RES=”width=720:height=540″MP3=”mp3lame -lameopts cbr:br=128:mode=0″
CODE1=”lavc -lavcopts vcodec=mpeg4:vbitrate=1800:vratetol=32000:nr=400″ #:aspect=4/3″
FILTER=”-vf pp=lb,denoise3d=3:4:5″
CODE2=”-ffourcc XVID”
XVID1=”${CODE1} ${FILTER} ${CODE2}” # csablak – Ez jó.XVID2=”xvid -xvidencopts bitrate=1800:me_quality=5:rc_reaction_delay_factor=1″ # Ez nagy processzor használatot eredményez
MPEG4=”lavc -lavcopts vcodec=mpeg4:vbitrate=2000:vhq ${FILTER}” # ez kb ugyanazt a minõséget adja, amit az elõzõ
# A parancs:
/usr/bin/mencoder tv:// -tv ${TV_OPT}:${TV_RES}:${CHANNEL}
-oac ${MP3} -ovc ${XVID1}
-o „${FILE}.avi” 2>/${LOGFILE}_error.log 1>${LOGFILE}_uzenet.log
-endpos ${HOSSZ}# Hang elnémítása
/usr/bin/aumix -l 0 -l P -i 0# A gép leállítása
#halt -p >/dev/null 2>&1Mit kéne elolvasnom?
2008-02-16-13:27 #2053462Kérdezze meg hogy melyik adó, milyen hosszú a felvétel, és annak megfelelően állítsa be a frekit, endpos-t.
– egyszerűbb dolgok: dialog, xdialog, kdialog stb. (szerintem ezekhez ennyi is elég)
– bonyolultabbak: kommander, pygtk stb. (ha egy ablakon akarod megkérdezni, akkor valami ilyesmi kell; habár ilyesmik vannak a neten pl: kde-apps, freshmeat)2008-02-16-13:28 #2053463Csablak:
Egy jó párszor nekiálltam a saját felvevő scriptem felhasználó baráttá tételének, de még nem fejeztem be.
Hátha ez segít. A tv néző scriptem a csatornákat így olvassa be a zenity segítségével.Code:#!/bin/bash
card=”$1″
command=”1″while ! [ -z „$command” ]; do
command=`cat /home/feri/.mplayerTV/mplayerTVchannels-zenity | zenity –list –title „Tv néző $1 kártyával” –text „Válassz csatornát” –column „Csatornák” –height=600`
if ! [ -z „$command” ]; then
case „${card}” in
leadtek|Leadtek|LEADTEK) mplayerTV-Leadtek -ch=”$command” freq ;;
pinnacle|Pinnacle|PINNACLE) mplayerTV-Pinnacle -ch=”$command” freq ;;
esac
fi
donePersze neked a $card nem kell, nekem két tv kártya van a gépben.
A csatorák nevei ebben vannak /home/feri/.mplayerTV/mplayerTVchannels-zenity (ez jelenik meg a zenity-ben.)
Így:Code:MTV_1
MTV_2
Duna_TV
ATV
TV2
RTLKLUB
Viasat3
Viva
Hallmark
Spectrum
NationalGeo
Filmmúzeum
HelyiTV
Eurosport
TCM
Sportklub
RTLII
ARD1
Minimax
Discovery
Belgrád
HirTVA lejátszó scriptnek (mplayerTV-Leadtek -ch=”$command”) fogja átadni a csatorna nevét a $command változóban,
2008-02-16-13:38 #2053464Ha már lista, akkor itt egy példa a listára. (Ez dialog, de xdialoggal (gtk) is így meg.)
Ebben az esetben a listában a név+url-t csatornanév+frekvencia-ra kell cserélni. 🙂2008-02-16-20:10 #2053465Sziasztok!
Adott egy egyszerű kis script:
Code:#!/bin/sh
cd $(dirname „$1”)
for i in $(ls *.avi); do
mplayer $i
doneArra kell, hogy ha több részből áll egy film mindet lejátssza egymás után.
Azonban nem tudom hogyan lehetne rávenni, hogy a szóközöket tartalmazó fájlnevet is megegye.
Próbálkoztam azzal, hogy „” közé rakom, valahogy így: for i in „$(ls *.avi)”, aminek ez lett az eredménye(mplayer helyett echo-val kísérleteztem):„Karhozat
(Damnation-1988)
Hungarian
Magyar-Bela
Tarr.avi”Alapból az ls *.avi ezt adja vissza: Karhozat (Damnation-1988) Hungarian Magyar-Bela Tarr.avi
Gondolom arra lenne szükség, hogy ilyen formában kapja meg az mplayer: Karhozat (Damnation-1988) Hungarian Magyar-Bela Tarr.avi, de még nem jöttem rá, hogy ezt hogyan érem el.2008-02-16-20:26 #2053466birno wrote:Sziasztok!Adott egy egyszerű kis script:
Code:#!/bin/sh
cd $(dirname „$1”)
for i in $(ls *.avi); do
mplayer $i
donePróbáld így
Code:#!/bin/sh
cd $(dirname „$1”)
for i in *.avi; do
mplayer „$i”
done2008-02-16-20:36 #2053467De ez sem rossz.
Code:#!/bin/sh
cd $(dirname „$1”)
mplayer *.avi2008-02-16-20:43 #2053468Vagy így még egyszerűbb.
Code:#!/bin/sh
mplayer „$1″/*.avi -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz